diff --git a/lollms_core b/lollms_core index 5dbce07f..4c3c611f 160000 --- a/lollms_core +++ b/lollms_core @@ -1 +1 @@ -Subproject commit 5dbce07f5d623065b37e3c7ccee860d9cc9ed46e +Subproject commit 4c3c611f0b80af949481d0c4927f554e4481f215 diff --git a/web/dist/assets/default_model-252b3424.png b/web/dist/assets/default_model-252b3424.png new file mode 100644 index 00000000..23230e0b Binary files /dev/null and b/web/dist/assets/default_model-252b3424.png differ diff --git a/web/dist/assets/index-7f382e92.css b/web/dist/assets/index-cc102f75.css similarity index 99% rename from web/dist/assets/index-7f382e92.css rename to web/dist/assets/index-cc102f75.css index aba25f98..12237b76 100644 --- a/web/dist/assets/index-7f382e92.css +++ b/web/dist/assets/index-cc102f75.css @@ -5,4 +5,4 @@ Author: (c) Henri Vandersleyen License: see project LICENSE Touched: 2022 -*/.hljs-meta,.hljs-comment{color:#565f89}.hljs-tag,.hljs-doctag,.hljs-selector-id,.hljs-selector-class,.hljs-regexp,.hljs-template-tag,.hljs-selector-pseudo,.hljs-selector-attr,.hljs-variable.language_,.hljs-deletion{color:#f7768e}.hljs-variable,.hljs-template-variable,.hljs-number,.hljs-literal,.hljs-type,.hljs-params,.hljs-link{color:#ff9e64}.hljs-built_in,.hljs-attribute{color:#e0af68}.hljs-selector-tag{color:#2ac3de}.hljs-keyword,.hljs-title.function_,.hljs-title,.hljs-title.class_,.hljs-title.class_.inherited__,.hljs-subst,.hljs-property{color:#7dcfff}.hljs-selector-tag{color:#73daca}.hljs-quote,.hljs-string,.hljs-symbol,.hljs-bullet,.hljs-addition{color:#9ece6a}.hljs-code,.hljs-formula,.hljs-section{color:#7aa2f7}.hljs-name,.hljs-keyword,.hljs-operator,.hljs-char.escape_,.hljs-attr{color:#bb9af7}.hljs-punctuation{color:#c0caf5}.hljs{background:#1a1b26;color:#9aa5ce}.hljs-emphasis{font-style:italic}.hljs-strong{font-weight:700}.code-container{display:flex;margin:0}.line-numbers{flex-shrink:0;padding-right:5px;color:#999;-webkit-user-select:none;-moz-user-select:none;user-select:none;white-space:nowrap;margin:0}.code-content{flex-grow:1;margin:0;outline:none}.progress-bar-container{background-color:#f0f0f0;border-radius:4px;height:8px;overflow:hidden}.progress-bar{background-color:#3498db;height:100%;transition:width .3s ease}.popup-container[data-v-d504dfc9]{background-color:#fff;color:#333;border-radius:8px;box-shadow:0 4px 6px #0000001a;padding:24px;width:100%;height:100%;position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center}.close-button[data-v-d504dfc9]{position:absolute;top:16px;right:16px;background-color:#3490dc;color:#fff;font-weight:700;padding:8px 16px;border-radius:8px;cursor:pointer;transition:background-color .3s ease}.close-button[data-v-d504dfc9]:hover{background-color:#2779bd}.iframe-content[data-v-d504dfc9]{width:100%;height:80%;border:none;margin-bottom:16px}.checkbox-container[data-v-d504dfc9]{display:flex;align-items:center;justify-content:center}.styled-checkbox[data-v-d504dfc9]{width:24px;height:24px;accent-color:#3490dc;cursor:pointer}.checkbox-label[data-v-d504dfc9]{margin-left:8px;font-size:16px;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none}.fade-enter-active[data-v-d504dfc9],.fade-leave-active[data-v-d504dfc9]{transition:opacity .5s}.fade-enter[data-v-d504dfc9],.fade-leave-to[data-v-d504dfc9]{opacity:0}.container{margin:0;padding:0}.link-item{height:25px;margin-top:5px;padding:0 20px;margin-bottom:-5px;display:flex;align-items:center;justify-content:center;border:1px solid transparent;border-radius:5px 5px 0 0;font-weight:700;transition:duration-300 ease-in-out transform}.link-item-dark{padding:0 20px;color:#f0f8ff;margin-bottom:-5px;display:flex;align-items:center;justify-content:center;border:1px solid transparent;border-radius:5px 5px 0 0;font-weight:700;transition:duration-300 ease-in-out transform}.nav-ul{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;height:100%}.nav-li{cursor:pointer;display:flex;align-items:center;padding:5px}.fade-in{animation:fadeInAnimation .5s}@keyframes fadeInAnimation{0%{opacity:0}to{opacity:1}}.bounce-in{animation:bounceInAnimation .5s}.bounce-out{animation:bounceOutAnimation .5s}@keyframes bounceInAnimation{0%{transform:scale(1)}50%{transform:scale(1.2)}to{transform:scale(1)}}.shadow-no-bottom{box-shadow:0 -4px 6px -1px #0000001a,0 2px 4px -1px #0000000f}.dot{width:10px;height:10px;border-radius:50%}.dot-green{background-color:green}.dot-red{background-color:red}.hovered{transition:transform .3s cubic-bezier(.175,.885,.32,1.275);transform:scale(1.1)}.active{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%)}.overlay{position:fixed;top:0;left:0;width:100%;height:100%;background-color:#0009;pointer-events:all}select{width:200px}body{background-color:#fafafa;font-family:sans-serif}.container{margin:4px auto;width:800px}.settings{position:fixed;top:0;right:0;width:250px;background-color:#fff;z-index:1000;display:none}.settings-button{cursor:pointer;padding:10px;border:1px solid #ddd;border-radius:5px;color:#333;font-size:14px}.settings-button:hover{background-color:#eee}.settings-button:active{background-color:#ddd}.slider-container{margin-top:20px}.slider-value{display:inline-block;margin-left:10px;color:#6b7280;font-size:14px}.small-button{padding:.5rem .75rem;font-size:.875rem}.active-tab{font-weight:700}.menu-container{position:relative;display:inline-block}.menu-button{background-color:#007bff;color:#fff;padding:10px;border:none;cursor:pointer;border-radius:4px}.menu-list{position:absolute;background-color:#fff;color:#000;border:1px solid #ccc;border-radius:4px;box-shadow:0 2px 4px #0003;padding:10px;max-width:500px;z-index:1000}.slide-enter-active,.slide-leave-active{transition:transform .2s}.slide-enter-to,.slide-leave-from{transform:translateY(-10px)}.menu-ul{list-style:none;padding:0;margin:0}.menu-li{cursor:pointer;display:flex;align-items:center;padding:5px}.menu-icon{width:20px;height:20px;margin-right:8px}.menu-command{min-width:200px;text-align:left}.selected-choice{background-color:#bde4ff}.heartbeat-text[data-v-31eb0911]{font-size:24px;animation:pulsate-31eb0911 1.5s infinite}@keyframes pulsate-31eb0911{0%{transform:scale(1);opacity:1}50%{transform:scale(1.1);opacity:.7}to{transform:scale(1);opacity:1}}.list-move[data-v-31eb0911],.list-enter-active[data-v-31eb0911],.list-leave-active[data-v-31eb0911]{transition:all .5s ease}.list-enter-from[data-v-31eb0911]{transform:translatey(-30px)}.list-leave-to[data-v-31eb0911]{opacity:0;transform:translatey(30px)}.list-leave-active[data-v-31eb0911]{position:absolute}.bounce-enter-active[data-v-31eb0911]{animation:bounce-in-31eb0911 .5s}.bounce-leave-active[data-v-31eb0911]{animation:bounce-in-31eb0911 .5s reverse}@keyframes bounce-in-31eb0911{0%{transform:scale(0)}50%{transform:scale(1.25)}to{transform:scale(1)}}.bg-primary-light[data-v-31eb0911]{background-color:#0ff}.hover[data-v-31eb0911]:bg-primary-light:hover{background-color:#7fffd4}.font-bold[data-v-31eb0911]{font-weight:700}.collapsible-section{cursor:pointer;margin-bottom:10px;font-weight:700}.collapsible-section:hover{color:#1a202c}.collapsible-section .toggle-icon{margin-right:.25rem}.collapsible-section .toggle-icon i{color:#4a5568}.collapsible-section .toggle-icon i:hover{color:#1a202c}.json-viewer{max-height:300px;max-width:700px;flex:auto;overflow-y:auto;padding:10px;background-color:#f1f1f1;border:1px solid #ccc;border-radius:4px}.json-viewer .toggle-icon{cursor:pointer;margin-right:.25rem}.json-viewer .toggle-icon i{color:#4a5568}.json-viewer .toggle-icon i:hover{color:#1a202c}.expand-button{margin-left:10px;margin-right:10px;background:none;border:none;padding:0;cursor:pointer}.htmljs{background:none}.bounce-enter-active[data-v-de7bc8fe]{animation:bounce-in-de7bc8fe .5s}.bounce-leave-active[data-v-de7bc8fe]{animation:bounce-in-de7bc8fe .5s reverse}@keyframes bounce-in-de7bc8fe{0%{transform:scale(0)}50%{transform:scale(1.25)}to{transform:scale(1)}}.custom-scrollbar[data-v-1a32c141]::-webkit-scrollbar{width:8px}.custom-scrollbar[data-v-1a32c141]::-webkit-scrollbar-track{background-color:#f1f1f1}.custom-scrollbar[data-v-1a32c141]::-webkit-scrollbar-thumb{background-color:#888;border-radius:4px}.custom-scrollbar[data-v-1a32c141]::-webkit-scrollbar-thumb:hover{background-color:#555}.menu[data-v-1a32c141]{display:flex;flex-direction:column;align-items:center}.commands-menu-items-wrapper[data-v-1a32c141]{position:relative;display:flex;flex-direction:column;align-items:center}.commands-menu-items-wrapper>#commands-menu-items[data-v-1a32c141]{top:calc(-100% - 2rem)}.list-move[data-v-6b5491a5],.list-enter-active[data-v-6b5491a5],.list-leave-active[data-v-6b5491a5]{transition:all .5s ease}.list-enter-from[data-v-6b5491a5]{transform:translatey(-30px)}.list-leave-to[data-v-6b5491a5]{opacity:0;transform:translatey(30px)}.list-leave-active[data-v-6b5491a5]{position:absolute}@keyframes custom-pulse-3268bea4{0%,to{box-shadow:0 0 #3b82f680}50%{box-shadow:0 0 0 15px #3b82f600}}.animate-pulse[data-v-3268bea4]{animation:custom-pulse-3268bea4 2s infinite}.slide-right-enter-active[data-v-3268bea4],.slide-right-leave-active[data-v-3268bea4]{transition:transform .3s ease}.slide-right-enter[data-v-3268bea4],.slide-right-leave-to[data-v-3268bea4]{transform:translate(-100%)}.slide-left-enter-active[data-v-3268bea4],.slide-left-leave-active[data-v-3268bea4]{transition:transform .3s ease}.slide-left-enter[data-v-3268bea4],.slide-left-leave-to[data-v-3268bea4]{transform:translate(100%)}.fade-and-fly-enter-active[data-v-3268bea4]{animation:fade-and-fly-enter-3268bea4 .5s ease}.fade-and-fly-leave-active[data-v-3268bea4]{animation:fade-and-fly-leave-3268bea4 .5s ease}@keyframes fade-and-fly-enter-3268bea4{0%{opacity:0;transform:translateY(20px) scale(.8)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes fade-and-fly-leave-3268bea4{0%{opacity:1;transform:translateY(0) scale(1)}to{opacity:0;transform:translateY(-20px) scale(1.2)}}.list-move[data-v-3268bea4],.list-enter-active[data-v-3268bea4],.list-leave-active[data-v-3268bea4]{transition:all .5s ease}.list-enter-from[data-v-3268bea4]{transform:translatey(-30px)}.list-leave-to[data-v-3268bea4]{opacity:0;transform:translatey(30px)}.list-leave-active[data-v-3268bea4]{position:absolute}.container{display:flex;justify-content:flex-start;align-items:flex-start;flex-wrap:wrap}.floating-frame{margin:15px;float:left;height:auto;border:1px solid #000;border-radius:4px;overflow:hidden;z-index:5000;position:fixed;cursor:move;bottom:0;right:0}.handle{width:100%;height:20px;background:#ccc;cursor:move;text-align:center}.floating-frame img{width:100%;height:auto}.controls{margin-top:10px}#webglContainer{top:0;left:0}.floating-frame2{margin:15px;width:800px;height:auto;border:1px solid #000;border-radius:4px;overflow:hidden;min-height:200px;z-index:5000}:root{--baklava-control-color-primary: #e28b46;--baklava-control-color-error: #d00000;--baklava-control-color-background: #2c3748;--baklava-control-color-foreground: white;--baklava-control-color-hover: #455670;--baklava-control-color-active: #556986;--baklava-control-color-disabled-foreground: #666c75;--baklava-control-border-radius: 3px;--baklava-sidebar-color-background: #1b202c;--baklava-sidebar-color-foreground: white;--baklava-node-color-background: #1b202c;--baklava-node-color-foreground: white;--baklava-node-color-hover: #e28c4677;--baklava-node-color-selected: var(--baklava-control-color-primary);--baklava-node-color-resize-handle: var(--baklava-control-color-background);--baklava-node-title-color-background: #151a24;--baklava-node-title-color-foreground: white;--baklava-group-node-title-color-background: #215636;--baklava-group-node-title-color-foreground: white;--baklava-node-interface-port-tooltip-color-foreground: var(--baklava-control-color-primary);--baklava-node-interface-port-tooltip-color-background: var(--baklava-editor-background-pattern-black);--baklava-node-border-radius: 6px;--baklava-color-connection-default: #737f96;--baklava-color-connection-allowed: #48bc79;--baklava-color-connection-forbidden: #bc4848;--baklava-editor-background-pattern-default: #202b3c;--baklava-editor-background-pattern-line: #263140;--baklava-editor-background-pattern-black: #263140;--baklava-context-menu-background: #1b202c;--baklava-context-menu-shadow: 0 0 8px rgba(0, 0, 0, .65);--baklava-toolbar-background: #1b202caa;--baklava-toolbar-foreground: white;--baklava-node-palette-background: #1b202caa;--baklava-node-palette-foreground: white;--baklava-visual-transition: .1s linear}.baklava-button{background-color:var(--baklava-control-color-background);color:var(--baklava-control-color-foreground);transition:background-color var(--baklava-visual-transition);border:none;padding:.45em .35em;border-radius:var(--baklava-control-border-radius);font-size:inherit;cursor:pointer;overflow-x:hidden}.baklava-button:hover{background-color:var(--baklava-control-color-hover)}.baklava-button:active{background-color:var(--baklava-control-color-primary)}.baklava-button.--block{width:100%}.baklava-checkbox{display:flex;padding:.35em 0;cursor:pointer;overflow-x:hidden;align-items:center}.baklava-checkbox .__checkmark-container{display:flex;background-color:var(--baklava-control-color-background);border-radius:var(--baklava-control-border-radius);transition:background-color var(--baklava-visual-transition);width:18px;height:18px}.baklava-checkbox:hover .__checkmark-container{background-color:var(--baklava-control-color-hover)}.baklava-checkbox:active .__checkmark-container{background-color:var(--baklava-control-color-active)}.baklava-checkbox .__checkmark{stroke-dasharray:15;stroke-dashoffset:15;stroke:var(--baklava-control-color-foreground);stroke-width:2px;fill:none;transition:stroke-dashoffset var(--baklava-visual-transition)}.baklava-checkbox.--checked .__checkmark{stroke-dashoffset:0}.baklava-checkbox.--checked .__checkmark-container{background-color:var(--baklava-control-color-primary)}.baklava-checkbox .__label{margin-left:.5rem}.baklava-context-menu{color:var(--baklava-control-color-foreground);position:absolute;display:inline-block;z-index:100;background-color:var(--baklava-context-menu-background);box-shadow:var(--baklava-context-menu-shadow);border-radius:0 0 var(--baklava-control-border-radius) var(--baklava-control-border-radius);min-width:6rem;width:-moz-max-content;width:max-content}.baklava-context-menu>.item{display:flex;align-items:center;padding:.35em 1em;transition:background .05s linear;position:relative}.baklava-context-menu>.item>.__label{flex:1 1 auto}.baklava-context-menu>.item>.__submenu-icon{margin-left:.75rem}.baklava-context-menu>.item.--disabled{color:var(--baklava-control-color-hover)}.baklava-context-menu>.item:not(.--header):not(.--active):not(.--disabled):hover{background:var(--baklava-control-color-primary)}.baklava-context-menu>.item.--active{background:var(--baklava-control-color-primary)}.baklava-context-menu.--nested{left:100%;top:0}.baklava-context-menu.--flipped-x.--nested{left:unset;right:100%}.baklava-context-menu.--flipped-y.--nested{top:unset;bottom:0}.baklava-context-menu>.divider{margin:.35em 0;height:1px;background-color:var(--baklava-control-color-hover)}.baklava-icon{display:block;height:100%}.baklava-icon.--clickable{cursor:pointer;transition:color var(--baklava-visual-transition)}.baklava-icon.--clickable:hover{color:var(--baklava-control-color-primary)}.baklava-input{background-color:var(--baklava-control-color-background);color:var(--baklava-control-color-foreground);caret-color:var(--baklava-control-color-primary);border:none;border-radius:var(--baklava-control-border-radius);padding:.45em .75em;width:100%;transition:background-color var(--baklava-visual-transition);font-size:inherit;font:inherit}.baklava-input:hover{background-color:var(--baklava-control-color-hover)}.baklava-input:active{background-color:var(--baklava-control-color-active)}.baklava-input:focus-visible{outline:1px solid var(--baklava-control-color-primary)}.baklava-input[type=number]::-webkit-inner-spin-button,.baklava-input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.baklava-input.--invalid{box-shadow:0 0 2px 2px var(--baklava-control-color-error)}.baklava-num-input{background:var(--baklava-control-color-background);color:var(--baklava-control-color-foreground);border-radius:var(--baklava-control-border-radius);width:100%;display:grid;grid-template-columns:20px 1fr 20px}.baklava-num-input>.__button{display:flex;flex:0 0 auto;width:20px;justify-content:center;align-items:center;transition:background var(--baklava-visual-transition);cursor:pointer}.baklava-num-input>.__button:hover{background-color:var(--baklava-control-color-hover)}.baklava-num-input>.__button:active{background-color:var(--baklava-control-color-active)}.baklava-num-input>.__button.--dec{grid-area:1/1/span 1/span 1}.baklava-num-input>.__button.--dec>svg{transform:rotate(90deg)}.baklava-num-input>.__button.--inc{grid-area:1/3/span 1/span 1}.baklava-num-input>.__button.--inc>svg{transform:rotate(-90deg)}.baklava-num-input>.__button path{stroke:var(--baklava-control-color-foreground);fill:var(--baklava-control-color-foreground)}.baklava-num-input>.__content{grid-area:1/2/span 1/span 1;display:inline-flex;cursor:pointer;max-width:100%;min-width:0;align-items:center;transition:background-color var(--baklava-visual-transition)}.baklava-num-input>.__content:hover{background-color:var(--baklava-control-color-hover)}.baklava-num-input>.__content:active{background-color:var(--baklava-control-color-active)}.baklava-num-input>.__content>.__label,.baklava-num-input>.__content>.__value{margin:.35em 0;padding:0 .5em}.baklava-num-input>.__content>.__label{flex:1;min-width:0;overflow:hidden}.baklava-num-input>.__content>.__value{text-align:right}.baklava-num-input>.__content>input{background-color:var(--baklava-control-color-background);color:var(--baklava-control-color-foreground);caret-color:var(--baklava-control-color-primary);padding:.35em;width:100%}.baklava-select{width:100%;position:relative;color:var(--baklava-control-color-foreground)}.baklava-select.--open>.__selected{border-bottom-left-radius:0;border-bottom-right-radius:0}.baklava-select.--open>.__selected>.__icon{transform:rotate(180deg)}.baklava-select>.__selected{background-color:var(--baklava-control-color-background);padding:.35em .75em;border-radius:var(--baklava-control-border-radius);transition:background var(--baklava-visual-transition);min-height:1.7em;display:flex;align-items:center;cursor:pointer}.baklava-select>.__selected:hover{background:var(--baklava-control-color-hover)}.baklava-select>.__selected:active{background:var(--baklava-control-color-active)}.baklava-select>.__selected>.__text{flex:1 0 auto;flex-basis:0;text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.baklava-select>.__selected>.__icon{flex:0 0 auto;display:flex;justify-content:center;align-items:center;transition:transform .25s ease;width:18px;height:18px}.baklava-select>.__selected>.__icon path{stroke:var(--baklava-control-color-foreground);fill:var(--baklava-control-color-foreground)}.baklava-select>.__dropdown{position:absolute;top:100%;left:0;right:0;z-index:10;background-color:var(--baklava-context-menu-background);filter:drop-shadow(0 0 4px black);border-radius:0 0 var(--baklava-control-border-radius) var(--baklava-control-border-radius);max-height:15em;overflow-y:scroll}.baklava-select>.__dropdown::-webkit-scrollbar{width:0px;background:transparent}.baklava-select>.__dropdown>.item{padding:.35em .35em .35em 1em;transition:background .05s linear}.baklava-select>.__dropdown>.item:not(.--header):not(.--active){cursor:pointer}.baklava-select>.__dropdown>.item:not(.--header):not(.--active):hover{background:var(--baklava-control-color-hover)}.baklava-select>.__dropdown>.item.--active{background:var(--baklava-control-color-primary)}.baklava-select>.__dropdown>.item.--header{color:var(--baklava-control-color-disabled-foreground);border-bottom:1px solid var(--baklava-control-color-disabled-foreground);padding:.5em .35em .5em 1em}.baklava-slider{background:var(--baklava-control-color-background);color:var(--baklava-control-color-foreground);border-radius:var(--baklava-control-border-radius);position:relative;cursor:pointer}.baklava-slider>.__content{display:flex;position:relative}.baklava-slider>.__content>.__label,.baklava-slider>.__content>.__value{flex:1 1 auto;margin:.35em 0;padding:0 .5em;text-overflow:ellipsis}.baklava-slider>.__content>.__value{text-align:right}.baklava-slider>.__content>input{background-color:var(--baklava-control-color-background);color:var(--baklava-control-color-foreground);caret-color:var(--baklava-control-color-primary);padding:.35em;width:100%}.baklava-slider>.__slider{position:absolute;top:0;bottom:0;left:0;background-color:var(--baklava-control-color-primary);border-radius:var(--baklava-control-border-radius)}.baklava-connection{stroke:var(--baklava-color-connection-default);stroke-width:2px;fill:none}.baklava-connection.--temporary{stroke-width:4px;stroke-dasharray:5 5;stroke-dashoffset:0;animation:dash 1s linear infinite;transform:translateY(-1px)}@keyframes dash{to{stroke-dashoffset:20}}.baklava-connection.--allowed{stroke:var(--baklava-color-connection-allowed)}.baklava-connection.--forbidden{stroke:var(--baklava-color-connection-forbidden)}.baklava-minimap{position:absolute;height:15%;width:15%;min-width:150px;max-width:90%;top:20px;right:20px;z-index:900}.baklava-editor{width:100%;height:100%;position:relative;overflow:hidden;outline:none!important;font-family:Lato,Segoe UI,Tahoma,Geneva,Verdana,sans-serif;font-size:15px;touch-action:none}.baklava-editor .background{background-color:var(--baklava-editor-background-pattern-default);background-image:linear-gradient(var(--baklava-editor-background-pattern-black) 2px,transparent 2px),linear-gradient(90deg,var(--baklava-editor-background-pattern-black) 2px,transparent 2px),linear-gradient(var(--baklava-editor-background-pattern-line) 1px,transparent 1px),linear-gradient(90deg,var(--baklava-editor-background-pattern-line) 1px,transparent 1px);background-repeat:repeat;width:100%;height:100%;pointer-events:none!important}.baklava-editor *:not(input):not(textarea){user-select:none;-moz-user-select:none;-webkit-user-select:none;touch-action:none}.baklava-editor .input-user-select{user-select:auto;-moz-user-select:auto;-webkit-user-select:auto}.baklava-editor *,.baklava-editor *:after,.baklava-editor *:before{box-sizing:border-box}.baklava-editor.--temporary-connection{cursor:crosshair}.baklava-editor .connections-container{position:absolute;top:0;left:0;width:100%;height:100%;pointer-events:none!important}.baklava-editor .node-container{position:absolute;top:0;left:0;width:100%;height:100%;pointer-events:none}.baklava-editor .node-container *{pointer-events:all}.baklava-ignore-mouse *{pointer-events:none!important}.baklava-ignore-mouse .__port{pointer-events:all!important}.baklava-node-interface{padding:.25em 0;position:relative}.baklava-node-interface .__port{position:absolute;width:10px;height:10px;background:white;border-radius:50%;top:calc(50% - 5px);cursor:crosshair}.baklava-node-interface .__port.--selected{outline:2px var(--baklava-color-connection-default) solid;outline-offset:4px}.baklava-node-interface.--input{text-align:left;padding-left:.5em}.baklava-node-interface.--input .__port{left:-1.1em}.baklava-node-interface.--output{text-align:right;padding-right:.5em}.baklava-node-interface.--output .__port{right:-1.1em}.baklava-node-interface .__tooltip{position:absolute;left:5px;top:15px;transform:translate(-50%);background:var(--baklava-node-interface-port-tooltip-color-background);color:var(--baklava-node-interface-port-tooltip-color-foreground);padding:.25em .5em;text-align:center;z-index:2}.baklava-node-palette{position:absolute;left:0;top:60px;width:250px;height:calc(100% - 60px);z-index:3;padding:2rem;overflow-y:auto;background:var(--baklava-node-palette-background);color:var(--baklava-node-palette-foreground)}.baklava-node-palette h1{margin-top:2rem}.baklava-node.--palette{position:unset;margin:1rem 0;cursor:grab}.baklava-node.--palette:first-child{margin-top:0}.baklava-node.--palette .__title{padding:.5rem;border-radius:var(--baklava-node-border-radius)}.baklava-dragged-node{position:absolute;width:calc(250px - 4rem);height:40px;z-index:4;pointer-events:none}.baklava-node{background:var(--baklava-node-color-background);color:var(--baklava-node-color-foreground);border:1px solid transparent;border-radius:var(--baklava-node-border-radius);position:absolute;box-shadow:0 0 4px #000c;transition:border-color var(--baklava-visual-transition),box-shadow var(--baklava-visual-transition);width:var(--width)}.baklava-node:hover{border-color:var(--baklava-node-color-hover)}.baklava-node:hover .__resize-handle:after{opacity:1}.baklava-node.--selected{z-index:5;border-color:var(--baklava-node-color-selected)}.baklava-node.--dragging{box-shadow:0 0 12px #000c}.baklava-node.--dragging>.__title{cursor:grabbing}.baklava-node>.__title{display:flex;background:var(--baklava-node-title-color-background);color:var(--baklava-node-title-color-foreground);padding:.4em .75em;border-radius:var(--baklava-node-border-radius) var(--baklava-node-border-radius) 0 0;cursor:grab}.baklava-node>.__title>*:first-child{flex-grow:1}.baklava-node>.__title>.__title-label{pointer-events:none}.baklava-node>.__title>.__menu{position:relative;cursor:initial}.baklava-node[data-node-type^=__baklava_]>.__title{background:var(--baklava-group-node-title-color-background);color:var(--baklava-group-node-title-color-foreground)}.baklava-node>.__content{padding:.75em}.baklava-node>.__content>div>div{margin:.5em 0}.baklava-node.--two-column>.__content{display:grid;grid-template-columns:1fr 1fr;grid-template-rows:auto auto;grid-template-areas:". ." ". ."}.baklava-node.--two-column>.__content>.__inputs{grid-row:1;grid-column:1}.baklava-node.--two-column>.__content>.__outputs{grid-row:1;grid-column:2}.baklava-node .__resize-handle{position:absolute;right:0;bottom:0;width:1rem;height:1rem;transform:translate(50%);cursor:ew-resize}.baklava-node .__resize-handle:after{content:"";position:absolute;bottom:0;left:-.5rem;width:1rem;height:1rem;opacity:0;border-bottom-right-radius:var(--baklava-node-border-radius);transition:opacity var(--baklava-visual-transition);background:linear-gradient(-45deg,transparent 10%,var(--baklava-node-color-resize-handle) 10%,var(--baklava-node-color-resize-handle) 15%,transparent 15%,transparent 30%,var(--baklava-node-color-resize-handle) 30%,var(--baklava-node-color-resize-handle) 35%,transparent 35%,transparent 50%,var(--baklava-node-color-resize-handle) 50%,var(--baklava-node-color-resize-handle) 55%,transparent 55%)}.baklava-sidebar{position:absolute;height:100%;width:25%;min-width:300px;max-width:90%;top:0;right:0;z-index:1000;background-color:var(--baklava-sidebar-color-background);color:var(--baklava-sidebar-color-foreground);box-shadow:none;overflow-x:hidden;padding:1em;transform:translate(100%);transition:transform .5s;display:flex;flex-direction:column}.baklava-sidebar.--open{transform:translate(0);box-shadow:0 0 15px #000}.baklava-sidebar .__resizer{position:absolute;left:0;top:0;height:100%;width:4px;cursor:col-resize}.baklava-sidebar .__header{display:flex;align-items:center}.baklava-sidebar .__header .__node-name{margin-left:.5rem}.baklava-sidebar .__close{font-size:2em;border:none;background:none;color:inherit;cursor:pointer}.baklava-sidebar .__interface{margin:.5em 0}.baklava-toolbar{position:absolute;left:0;top:0;width:100%;height:60px;z-index:3;padding:.5rem 2rem;background:var(--baklava-toolbar-background);color:var(--baklava-toolbar-foreground);display:flex;align-items:center}.baklava-toolbar-entry{margin-left:.5rem;margin-right:.5rem}.baklava-toolbar-button{color:var(--baklava-toolbar-foreground);background:none;border:none;transition:color var(--baklava-visual-transition)}.baklava-toolbar-button:not([disabled]){cursor:pointer}.baklava-toolbar-button:hover:not([disabled]){color:var(--baklava-control-color-primary)}.baklava-toolbar-button[disabled]{color:var(--baklava-control-color-disabled-foreground)}.slide-fade-enter-active,.slide-fade-leave-active{transition:all .1s ease-out}.slide-fade-enter-from,.slide-fade-leave-to{transform:translateY(5px);opacity:0}.fade-enter-active,.fade-leave-active{transition:opacity .1s ease-out!important}.fade-enter-from,.fade-leave-to{opacity:0}*,:before,:after{box-sizing:border-box;border-width:0;border-style:solid;border-color:#e5e7eb}:before,:after{--tw-content: ""}html{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-family:PTSans,Roboto,sans-serif;font-feature-settings:normal;font-variation-settings:normal}body{margin:0;line-height:inherit}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-feature-settings:inherit;font-variation-settings:inherit;font-size:100%;font-weight:inherit;line-height:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,[type=button],[type=reset],[type=submit]{-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dl,dd,h1,h2,h3,h4,h5,h6,hr,figure,p,pre{margin:0}fieldset{margin:0;padding:0}legend{padding:0}ol,ul,menu{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}button,[role=button]{cursor:pointer}:disabled{cursor:default}img,svg,video,canvas,audio,iframe,embed,object{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]{display:none}.tooltip-arrow,.tooltip-arrow:before{position:absolute;width:8px;height:8px;background:inherit}.tooltip-arrow{visibility:hidden}.tooltip-arrow:before{content:"";visibility:visible;transform:rotate(45deg)}[data-tooltip-style^=light]+.tooltip>.tooltip-arrow:before{border-style:solid;border-color:#e5e7eb}[data-tooltip-style^=light]+.tooltip[data-popper-placement^=top]>.tooltip-arrow:before{border-bottom-width:1px;border-right-width:1px}[data-tooltip-style^=light]+.tooltip[data-popper-placement^=right]>.tooltip-arrow:before{border-bottom-width:1px;border-left-width:1px}[data-tooltip-style^=light]+.tooltip[data-popper-placement^=bottom]>.tooltip-arrow:before{border-top-width:1px;border-left-width:1px}[data-tooltip-style^=light]+.tooltip[data-popper-placement^=left]>.tooltip-arrow:before{border-top-width:1px;border-right-width:1px}.tooltip[data-popper-placement^=top]>.tooltip-arrow{bottom:-4px}.tooltip[data-popper-placement^=bottom]>.tooltip-arrow{top:-4px}.tooltip[data-popper-placement^=left]>.tooltip-arrow{right:-4px}.tooltip[data-popper-placement^=right]>.tooltip-arrow{left:-4px}.tooltip.invisible>.tooltip-arrow:before{visibility:hidden}[data-popper-arrow],[data-popper-arrow]:before{position:absolute;width:8px;height:8px;background:inherit}[data-popper-arrow]{visibility:hidden}[data-popper-arrow]:before{content:"";visibility:visible;transform:rotate(45deg)}[data-popper-arrow]:after{content:"";visibility:visible;transform:rotate(45deg);position:absolute;width:9px;height:9px;background:inherit}[role=tooltip]>[data-popper-arrow]:before{border-style:solid;border-color:#e5e7eb}.dark [role=tooltip]>[data-popper-arrow]:before{border-style:solid;border-color:#4b5563}[role=tooltip]>[data-popper-arrow]:after{border-style:solid;border-color:#e5e7eb}.dark [role=tooltip]>[data-popper-arrow]:after{border-style:solid;border-color:#4b5563}[data-popover][role=tooltip][data-popper-placement^=top]>[data-popper-arrow]:before{border-bottom-width:1px;border-right-width:1px}[data-popover][role=tooltip][data-popper-placement^=top]>[data-popper-arrow]:after{border-bottom-width:1px;border-right-width:1px}[data-popover][role=tooltip][data-popper-placement^=right]>[data-popper-arrow]:before{border-bottom-width:1px;border-left-width:1px}[data-popover][role=tooltip][data-popper-placement^=right]>[data-popper-arrow]:after{border-bottom-width:1px;border-left-width:1px}[data-popover][role=tooltip][data-popper-placement^=bottom]>[data-popper-arrow]:before{border-top-width:1px;border-left-width:1px}[data-popover][role=tooltip][data-popper-placement^=bottom]>[data-popper-arrow]:after{border-top-width:1px;border-left-width:1px}[data-popover][role=tooltip][data-popper-placement^=left]>[data-popper-arrow]:before{border-top-width:1px;border-right-width:1px}[data-popover][role=tooltip][data-popper-placement^=left]>[data-popper-arrow]:after{border-top-width:1px;border-right-width:1px}[data-popover][role=tooltip][data-popper-placement^=top]>[data-popper-arrow]{bottom:-5px}[data-popover][role=tooltip][data-popper-placement^=bottom]>[data-popper-arrow]{top:-5px}[data-popover][role=tooltip][data-popper-placement^=left]>[data-popper-arrow]{right:-5px}[data-popover][role=tooltip][data-popper-placement^=right]>[data-popper-arrow]{left:-5px}[role=tooltip].invisible>[data-popper-arrow]:before{visibility:hidden}[role=tooltip].invisible>[data-popper-arrow]:after{visibility:hidden}[type=text],[type=email],[type=url],[type=password],[type=number],[type=date],[type=datetime-local],[type=month],[type=search],[type=tel],[type=time],[type=week],[multiple],textarea,select{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-color:#fff;border-color:#6b7280;border-width:1px;border-radius:0;padding:.5rem .75rem;font-size:1rem;line-height:1.5rem;--tw-shadow: 0 0 #0000}[type=text]:focus,[type=email]:focus,[type=url]:focus,[type=password]:focus,[type=number]:focus,[type=date]:focus,[type=datetime-local]:focus,[type=month]:focus,[type=search]:focus,[type=tel]:focus,[type=time]:focus,[type=week]:focus,[multiple]:focus,textarea:focus,select:focus{outline:2px solid transparent;outline-offset:2px;--tw-ring-inset: var(--tw-empty, );--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: #1C64F2;--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow);border-color:#1c64f2}input::-moz-placeholder,textarea::-moz-placeholder{color:#6b7280;opacity:1}input::placeholder,textarea::placeholder{color:#6b7280;opacity:1}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-date-and-time-value{min-height:1.5em}select:not([size]){background-image:url("data:image/svg+xml,%3csvg aria-hidden='true' xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 10 6'%3e %3cpath stroke='%236B7280' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m1 1 4 4 4-4'/%3e %3c/svg%3e");background-position:right .75rem center;background-repeat:no-repeat;background-size:.75em .75em;padding-right:2.5rem;-webkit-print-color-adjust:exact;print-color-adjust:exact}[multiple]{background-image:initial;background-position:initial;background-repeat:unset;background-size:initial;padding-right:.75rem;-webkit-print-color-adjust:unset;print-color-adjust:unset}[type=checkbox],[type=radio]{-webkit-appearance:none;-moz-appearance:none;appearance:none;padding:0;-webkit-print-color-adjust:exact;print-color-adjust:exact;display:inline-block;vertical-align:middle;background-origin:border-box;-webkit-user-select:none;-moz-user-select:none;user-select:none;flex-shrink:0;height:1rem;width:1rem;color:#1c64f2;background-color:#fff;border-color:#6b7280;border-width:1px;--tw-shadow: 0 0 #0000}[type=checkbox]{border-radius:0}[type=radio]{border-radius:100%}[type=checkbox]:focus,[type=radio]:focus{outline:2px solid transparent;outline-offset:2px;--tw-ring-inset: var(--tw-empty, );--tw-ring-offset-width: 2px;--tw-ring-offset-color: #fff;--tw-ring-color: #1C64F2;--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}[type=checkbox]:checked,[type=radio]:checked,.dark [type=checkbox]:checked,.dark [type=radio]:checked{border-color:transparent;background-color:currentColor;background-size:.55em .55em;background-position:center;background-repeat:no-repeat}[type=checkbox]:checked{background-image:url("data:image/svg+xml,%3csvg aria-hidden='true' xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 16 12'%3e %3cpath stroke='white' stroke-linecap='round' stroke-linejoin='round' stroke-width='3' d='M1 5.917 5.724 10.5 15 1.5'/%3e %3c/svg%3e");background-repeat:no-repeat;background-size:.55em .55em;-webkit-print-color-adjust:exact;print-color-adjust:exact}[type=radio]:checked{background-image:url("data:image/svg+xml,%3csvg viewBox='0 0 16 16' fill='white' xmlns='http://www.w3.org/2000/svg'%3e%3ccircle cx='8' cy='8' r='3'/%3e%3c/svg%3e");background-size:1em 1em}.dark [type=radio]:checked{background-image:url("data:image/svg+xml,%3csvg viewBox='0 0 16 16' fill='white' xmlns='http://www.w3.org/2000/svg'%3e%3ccircle cx='8' cy='8' r='3'/%3e%3c/svg%3e");background-size:1em 1em}[type=checkbox]:indeterminate{background-image:url("data:image/svg+xml,%3csvg aria-hidden='true' xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 16 12'%3e %3cpath stroke='white' stroke-linecap='round' stroke-linejoin='round' stroke-width='3' d='M1 5.917 5.724 10.5 15 1.5'/%3e %3c/svg%3e");background-color:currentColor;border-color:transparent;background-position:center;background-repeat:no-repeat;background-size:.55em .55em;-webkit-print-color-adjust:exact;print-color-adjust:exact}[type=checkbox]:indeterminate:hover,[type=checkbox]:indeterminate:focus{border-color:transparent;background-color:currentColor}[type=file]{background:unset;border-color:inherit;border-width:0;border-radius:0;padding:0;font-size:unset;line-height:inherit}[type=file]:focus{outline:1px auto inherit}input[type=file]::file-selector-button{color:#fff;background:#1F2937;border:0;font-weight:500;font-size:.875rem;cursor:pointer;padding:.625rem 1rem .625rem 2rem;margin-inline-start:-1rem;margin-inline-end:1rem}input[type=file]::file-selector-button:hover{background:#374151}.dark input[type=file]::file-selector-button{color:#fff;background:#4B5563}.dark input[type=file]::file-selector-button:hover{background:#6B7280}input[type=range]::-webkit-slider-thumb{height:1.25rem;width:1.25rem;background:#1C64F2;border-radius:9999px;border:0;appearance:none;-moz-appearance:none;-webkit-appearance:none;cursor:pointer}input[type=range]:disabled::-webkit-slider-thumb{background:#9CA3AF}.dark input[type=range]:disabled::-webkit-slider-thumb{background:#6B7280}input[type=range]:focus::-webkit-slider-thumb{outline:2px solid transparent;outline-offset:2px;--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(4px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000);--tw-ring-opacity: 1px;--tw-ring-color: rgb(164 202 254 / var(--tw-ring-opacity))}input[type=range]::-moz-range-thumb{height:1.25rem;width:1.25rem;background:#1C64F2;border-radius:9999px;border:0;appearance:none;-moz-appearance:none;-webkit-appearance:none;cursor:pointer}input[type=range]:disabled::-moz-range-thumb{background:#9CA3AF}.dark input[type=range]:disabled::-moz-range-thumb{background:#6B7280}input[type=range]::-moz-range-progress{background:#3F83F8}input[type=range]::-ms-fill-lower{background:#3F83F8}.toggle-bg:after{content:"";position:absolute;top:.125rem;left:.125rem;background:white;border-color:#d1d5db;border-width:1px;border-radius:9999px;height:1.25rem;width:1.25rem;transition-property:background-color,border-color,color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter,-webkit-backdrop-filter;transition-duration:.15s;box-shadow:var(--tw-ring-inset) 0 0 0 calc(0px + var(--tw-ring-offset-width)) var(--tw-ring-color)}input:checked+.toggle-bg:after{transform:translate(100%);border-color:#fff}input:checked+.toggle-bg{background:#1C64F2;border-color:#1c64f2}*{scrollbar-color:initial;scrollbar-width:initial}html{scroll-behavior:smooth}@font-face{font-family:Roboto;src:url(/assets/Roboto-Regular-7277cfb8.ttf) format("truetype")}@font-face{font-family:PTSans;src:url(/assets/PTSans-Regular-23b91352.ttf) format("truetype")}*,:before,:after{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(63 131 248 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: }::backdrop{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(63 131 248 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: }.container{width:100%;margin-right:auto;margin-left:auto;padding-right:2rem;padding-left:2rem}@media (min-width: 640px){.container{max-width:640px}}@media (min-width: 768px){.container{max-width:768px}}@media (min-width: 1024px){.container{max-width:1024px}}@media (min-width: 1280px){.container{max-width:1280px}}@media (min-width: 1536px){.container{max-width:1536px}}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}.pointer-events-none{pointer-events:none}.visible{visibility:visible}.invisible{visibility:hidden}.collapse{visibility:collapse}.static{position:static}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.sticky{position:sticky}.inset-0{top:0;right:0;bottom:0;left:0}.inset-y-0{top:0;bottom:0}.-bottom-1{bottom:-.25rem}.-bottom-1\.5{bottom:-.375rem}.-bottom-2{bottom:-.5rem}.-bottom-4{bottom:-1rem}.-left-1{left:-.25rem}.-left-1\.5{left:-.375rem}.-left-6{left:-1.5rem}.-right-0{right:-0px}.-right-0\.5{right:-.125rem}.-right-1{right:-.25rem}.-right-1\.5{right:-.375rem}.-right-6{right:-1.5rem}.-top-1{top:-.25rem}.-top-1\.5{top:-.375rem}.-top-2{top:-.5rem}.-top-20{top:-5rem}.-top-6{top:-1.5rem}.-top-9{top:-2.25rem}.bottom-0{bottom:0}.bottom-16{bottom:4rem}.bottom-2{bottom:.5rem}.bottom-2\.5{bottom:.625rem}.bottom-20{bottom:5rem}.bottom-5{bottom:1.25rem}.bottom-\[60px\]{bottom:60px}.left-0{left:0}.left-1{left:.25rem}.left-1\/2{left:50%}.left-2{left:.5rem}.left-20{left:5rem}.right-0{right:0}.right-2{right:.5rem}.right-2\.5{right:.625rem}.right-20{right:5rem}.right-3{right:.75rem}.top-0{top:0}.top-1{top:.25rem}.top-1\/2{top:50%}.top-2{top:.5rem}.top-20{top:5rem}.top-3{top:.75rem}.z-0{z-index:0}.z-10{z-index:10}.z-20{z-index:20}.z-30{z-index:30}.z-40{z-index:40}.z-50{z-index:50}.-m-1{margin:-.25rem}.-m-2{margin:-.5rem}.-m-4{margin:-1rem}.m-0{margin:0}.m-1{margin:.25rem}.m-2{margin:.5rem}.m-4{margin:1rem}.-mx-1{margin-left:-.25rem;margin-right:-.25rem}.-mx-1\.5{margin-left:-.375rem;margin-right:-.375rem}.-mx-5{margin-left:-1.25rem;margin-right:-1.25rem}.-my-1{margin-top:-.25rem;margin-bottom:-.25rem}.-my-1\.5{margin-top:-.375rem;margin-bottom:-.375rem}.mx-0{margin-left:0;margin-right:0}.mx-1{margin-left:.25rem;margin-right:.25rem}.mx-1\.5{margin-left:.375rem;margin-right:.375rem}.mx-2{margin-left:.5rem;margin-right:.5rem}.mx-3{margin-left:.75rem;margin-right:.75rem}.mx-4{margin-left:1rem;margin-right:1rem}.mx-auto{margin-left:auto;margin-right:auto}.my-1{margin-top:.25rem;margin-bottom:.25rem}.my-2{margin-top:.5rem;margin-bottom:.5rem}.my-4{margin-top:1rem;margin-bottom:1rem}.-mb-px{margin-bottom:-1px}.mb-1{margin-bottom:.25rem}.mb-10{margin-bottom:2.5rem}.mb-2{margin-bottom:.5rem}.mb-3{margin-bottom:.75rem}.mb-3\.5{margin-bottom:.875rem}.mb-4{margin-bottom:1rem}.mb-5{margin-bottom:1.25rem}.ml-0{margin-left:0}.ml-1{margin-left:.25rem}.ml-2{margin-left:.5rem}.ml-3{margin-left:.75rem}.ml-4{margin-left:1rem}.ml-5{margin-left:1.25rem}.ml-6{margin-left:1.5rem}.ml-auto{margin-left:auto}.mr-0{margin-right:0}.mr-1{margin-right:.25rem}.mr-2{margin-right:.5rem}.mr-3{margin-right:.75rem}.mr-4{margin-right:1rem}.mt-0{margin-top:0}.mt-1{margin-top:.25rem}.mt-1\.5{margin-top:.375rem}.mt-14{margin-top:3.5rem}.mt-2{margin-top:.5rem}.mt-3{margin-top:.75rem}.mt-4{margin-top:1rem}.mt-6{margin-top:1.5rem}.line-clamp-1{overflow:hidden;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:1}.line-clamp-3{overflow:hidden;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3}.block{display:block}.inline-block{display:inline-block}.inline{display:inline}.flex{display:flex}.inline-flex{display:inline-flex}.table{display:table}.grid{display:grid}.contents{display:contents}.hidden{display:none}.aspect-square{aspect-ratio:1 / 1}.h-0{height:0px}.h-0\.5{height:.125rem}.h-1{height:.25rem}.h-1\.5{height:.375rem}.h-10{height:2.5rem}.h-11{height:2.75rem}.h-12{height:3rem}.h-14{height:3.5rem}.h-2{height:.5rem}.h-2\.5{height:.625rem}.h-20{height:5rem}.h-24{height:6rem}.h-3{height:.75rem}.h-3\.5{height:.875rem}.h-32{height:8rem}.h-36{height:9rem}.h-4{height:1rem}.h-4\/5{height:80%}.h-48{height:12rem}.h-5{height:1.25rem}.h-56{height:14rem}.h-6{height:1.5rem}.h-7{height:1.75rem}.h-8{height:2rem}.h-9{height:2.25rem}.h-96{height:24rem}.h-\[200px\]{height:200px}.h-auto{height:auto}.h-fit{height:-moz-fit-content;height:fit-content}.h-full{height:100%}.h-modal{height:calc(100% - 2rem)}.h-px{height:1px}.h-screen{height:100vh}.max-h-6{max-height:1.5rem}.max-h-64{max-height:16rem}.max-h-96{max-height:24rem}.max-h-\[400px\]{max-height:400px}.max-h-full{max-height:100%}.max-h-screen{max-height:100vh}.min-h-\[500px\]{min-height:500px}.min-h-\[900px\]{min-height:900px}.min-h-full{min-height:100%}.w-0{width:0px}.w-0\.5{width:.125rem}.w-1{width:.25rem}.w-1\.5{width:.375rem}.w-1\/2{width:50%}.w-10{width:2.5rem}.w-11{width:2.75rem}.w-12{width:3rem}.w-14{width:3.5rem}.w-16{width:4rem}.w-2{width:.5rem}.w-2\.5{width:.625rem}.w-20{width:5rem}.w-24{width:6rem}.w-3{width:.75rem}.w-3\.5{width:.875rem}.w-3\/4{width:75%}.w-3\/5{width:60%}.w-36{width:9rem}.w-4{width:1rem}.w-4\/5{width:80%}.w-4\/6{width:66.666667%}.w-48{width:12rem}.w-5{width:1.25rem}.w-6{width:1.5rem}.w-64{width:16rem}.w-7{width:1.75rem}.w-8{width:2rem}.w-80{width:20rem}.w-9{width:2.25rem}.w-96{width:24rem}.w-\[1000px\]{width:1000px}.w-auto{width:auto}.w-fit{width:-moz-fit-content;width:fit-content}.w-full{width:100%}.w-max{width:-moz-max-content;width:max-content}.w-px{width:1px}.w-screen{width:100vw}.min-w-\[23rem\]{min-width:23rem}.min-w-\[24rem\]{min-width:24rem}.min-w-\[300px\]{min-width:300px}.max-w-2xl{max-width:42rem}.max-w-3xl{max-width:48rem}.max-w-4xl{max-width:56rem}.max-w-5xl{max-width:64rem}.max-w-6xl{max-width:72rem}.max-w-7xl{max-width:80rem}.max-w-\[23rem\]{max-width:23rem}.max-w-\[24rem\]{max-width:24rem}.max-w-\[300px\]{max-width:300px}.max-w-\[900px\]{max-width:900px}.max-w-full{max-width:100%}.max-w-lg{max-width:32rem}.max-w-md{max-width:28rem}.max-w-sm{max-width:24rem}.max-w-xl{max-width:36rem}.max-w-xs{max-width:20rem}.flex-1{flex:1 1 0%}.flex-none{flex:none}.flex-shrink{flex-shrink:1}.flex-shrink-0{flex-shrink:0}.shrink{flex-shrink:1}.shrink-0{flex-shrink:0}.flex-grow{flex-grow:1}.flex-grow-0{flex-grow:0}.grow{flex-grow:1}.-translate-x-1\/2{--tw-translate-x: -50%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.-translate-x-full{--tw-translate-x: -100%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.-translate-y-0{--tw-translate-y: -0px;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.-translate-y-1\/2{--tw-translate-y: -50%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.-translate-y-full{--tw-translate-y: -100%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.translate-x-0{--tw-translate-x: 0px;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.translate-x-full{--tw-translate-x: 100%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.translate-y-1\/2{--tw-translate-y: 50%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.translate-y-full{--tw-translate-y: 100%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.rotate-180{--tw-rotate: 180deg;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.rotate-90{--tw-rotate: 90deg;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.scale-150{--tw-scale-x: 1.5;--tw-scale-y: 1.5;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.scale-75{--tw-scale-x: .75;--tw-scale-y: .75;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.transform-none{transform:none}@keyframes bounce{0%,to{transform:translateY(-25%);animation-timing-function:cubic-bezier(.8,0,1,1)}50%{transform:none;animation-timing-function:cubic-bezier(0,0,.2,1)}}.animate-bounce{animation:bounce 1s infinite}@keyframes pulse{50%{opacity:.5}}.animate-pulse{animation:pulse 2s cubic-bezier(.4,0,.6,1) infinite}@keyframes spin{to{transform:rotate(360deg)}}.animate-spin{animation:spin 1s linear infinite}.cursor-default{cursor:default}.cursor-not-allowed{cursor:not-allowed}.cursor-pointer{cursor:pointer}.select-none{-webkit-user-select:none;-moz-user-select:none;user-select:none}.resize{resize:both}.list-none{list-style-type:none}.appearance-none{-webkit-appearance:none;-moz-appearance:none;appearance:none}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.grid-cols-7{grid-template-columns:repeat(7,minmax(0,1fr))}.grid-cols-\[40px\,1fr\]{grid-template-columns:40px 1fr}.flex-row{flex-direction:row}.flex-row-reverse{flex-direction:row-reverse}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.place-content-center{place-content:center}.items-start{align-items:flex-start}.items-end{align-items:flex-end}.items-center{align-items:center}.justify-start{justify-content:flex-start}.justify-end{justify-content:flex-end}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-1{gap:.25rem}.gap-2{gap:.5rem}.gap-2\.5{gap:.625rem}.gap-3{gap:.75rem}.gap-4{gap:1rem}.-space-x-4>:not([hidden])~:not([hidden]){--tw-space-x-reverse: 0;margin-right:calc(-1rem * var(--tw-space-x-reverse));margin-left:calc(-1rem * calc(1 - var(--tw-space-x-reverse)))}.-space-x-px>:not([hidden])~:not([hidden]){--tw-space-x-reverse: 0;margin-right:calc(-1px * var(--tw-space-x-reverse));margin-left:calc(-1px * calc(1 - var(--tw-space-x-reverse)))}.space-x-1>:not([hidden])~:not([hidden]){--tw-space-x-reverse: 0;margin-right:calc(.25rem * var(--tw-space-x-reverse));margin-left:calc(.25rem * calc(1 - var(--tw-space-x-reverse)))}.space-x-2>:not([hidden])~:not([hidden]){--tw-space-x-reverse: 0;margin-right:calc(.5rem * var(--tw-space-x-reverse));margin-left:calc(.5rem * calc(1 - var(--tw-space-x-reverse)))}.space-x-3>:not([hidden])~:not([hidden]){--tw-space-x-reverse: 0;margin-right:calc(.75rem * var(--tw-space-x-reverse));margin-left:calc(.75rem * calc(1 - var(--tw-space-x-reverse)))}.space-x-4>:not([hidden])~:not([hidden]){--tw-space-x-reverse: 0;margin-right:calc(1rem * var(--tw-space-x-reverse));margin-left:calc(1rem * calc(1 - var(--tw-space-x-reverse)))}.space-y-2>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.5rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.5rem * var(--tw-space-y-reverse))}.divide-x>:not([hidden])~:not([hidden]){--tw-divide-x-reverse: 0;border-right-width:calc(1px * var(--tw-divide-x-reverse));border-left-width:calc(1px * calc(1 - var(--tw-divide-x-reverse)))}.divide-y>:not([hidden])~:not([hidden]){--tw-divide-y-reverse: 0;border-top-width:calc(1px * calc(1 - var(--tw-divide-y-reverse)));border-bottom-width:calc(1px * var(--tw-divide-y-reverse))}.divide-gray-100>:not([hidden])~:not([hidden]){--tw-divide-opacity: 1;border-color:rgb(243 244 246 / var(--tw-divide-opacity))}.divide-gray-200>:not([hidden])~:not([hidden]){--tw-divide-opacity: 1;border-color:rgb(229 231 235 / var(--tw-divide-opacity))}.self-center{align-self:center}.self-stretch{align-self:stretch}.overflow-auto{overflow:auto}.overflow-hidden{overflow:hidden}.overflow-visible{overflow:visible}.overflow-x-auto{overflow-x:auto}.overflow-y-auto{overflow-y:auto}.overflow-x-hidden{overflow-x:hidden}.overflow-y-hidden{overflow-y:hidden}.overflow-y-scroll{overflow-y:scroll}.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.whitespace-nowrap{white-space:nowrap}.whitespace-pre-wrap{white-space:pre-wrap}.break-words{overflow-wrap:break-word}.break-all{word-break:break-all}.\!rounded-full{border-radius:9999px!important}.rounded{border-radius:.25rem}.rounded-full{border-radius:9999px}.rounded-lg{border-radius:.5rem}.rounded-md{border-radius:.375rem}.rounded-sm{border-radius:.125rem}.rounded-xl{border-radius:.75rem}.rounded-b{border-bottom-right-radius:.25rem;border-bottom-left-radius:.25rem}.rounded-b-lg{border-bottom-right-radius:.5rem;border-bottom-left-radius:.5rem}.rounded-l-lg{border-top-left-radius:.5rem;border-bottom-left-radius:.5rem}.rounded-r-lg{border-top-right-radius:.5rem;border-bottom-right-radius:.5rem}.rounded-t{border-top-left-radius:.25rem;border-top-right-radius:.25rem}.rounded-t-lg{border-top-left-radius:.5rem;border-top-right-radius:.5rem}.rounded-t-xl{border-top-left-radius:.75rem;border-top-right-radius:.75rem}.border{border-width:1px}.border-0{border-width:0px}.border-2{border-width:2px}.border-4{border-width:4px}.border-x-0{border-left-width:0px;border-right-width:0px}.border-b{border-bottom-width:1px}.border-b-0{border-bottom-width:0px}.border-b-2{border-bottom-width:2px}.border-l{border-left-width:1px}.border-r{border-right-width:1px}.border-t{border-top-width:1px}.border-t-0{border-top-width:0px}.border-t-4{border-top-width:4px}.border-dashed{border-style:dashed}.border-none{border-style:none}.border-bg-dark{border-color:var(--color-bg-dark)}.border-blue-300{--tw-border-opacity: 1;border-color:rgb(164 202 254 / var(--tw-border-opacity))}.border-blue-500{--tw-border-opacity: 1;border-color:rgb(63 131 248 / var(--tw-border-opacity))}.border-blue-600{--tw-border-opacity: 1;border-color:rgb(28 100 242 / var(--tw-border-opacity))}.border-blue-700{--tw-border-opacity: 1;border-color:rgb(26 86 219 / var(--tw-border-opacity))}.border-gray-100{--tw-border-opacity: 1;border-color:rgb(243 244 246 / var(--tw-border-opacity))}.border-gray-200{--tw-border-opacity: 1;border-color:rgb(229 231 235 / var(--tw-border-opacity))}.border-gray-300{--tw-border-opacity: 1;border-color:rgb(209 213 219 / var(--tw-border-opacity))}.border-gray-500{--tw-border-opacity: 1;border-color:rgb(107 114 128 / var(--tw-border-opacity))}.border-gray-600{--tw-border-opacity: 1;border-color:rgb(75 85 99 / var(--tw-border-opacity))}.border-gray-700{--tw-border-opacity: 1;border-color:rgb(55 65 81 / var(--tw-border-opacity))}.border-gray-800{--tw-border-opacity: 1;border-color:rgb(31 41 55 / var(--tw-border-opacity))}.border-green-500{--tw-border-opacity: 1;border-color:rgb(14 159 110 / var(--tw-border-opacity))}.border-green-600{--tw-border-opacity: 1;border-color:rgb(5 122 85 / var(--tw-border-opacity))}.border-green-700{--tw-border-opacity: 1;border-color:rgb(4 108 78 / var(--tw-border-opacity))}.border-pink-600{--tw-border-opacity: 1;border-color:rgb(214 31 105 / var(--tw-border-opacity))}.border-pink-700{--tw-border-opacity: 1;border-color:rgb(191 18 93 / var(--tw-border-opacity))}.border-primary{border-color:var(--color-primary)}.border-primary-light{border-color:var(--color-primary-light)}.border-purple-600{--tw-border-opacity: 1;border-color:rgb(126 58 242 / var(--tw-border-opacity))}.border-purple-700{--tw-border-opacity: 1;border-color:rgb(108 43 217 / var(--tw-border-opacity))}.border-red-500{--tw-border-opacity: 1;border-color:rgb(240 82 82 / var(--tw-border-opacity))}.border-red-600{--tw-border-opacity: 1;border-color:rgb(224 36 36 / var(--tw-border-opacity))}.border-red-700{--tw-border-opacity: 1;border-color:rgb(200 30 30 / var(--tw-border-opacity))}.border-secondary{border-color:var(--color-secondary)}.border-transparent{border-color:transparent}.border-white{--tw-border-opacity: 1;border-color:rgb(255 255 255 / var(--tw-border-opacity))}.border-yellow-400{--tw-border-opacity: 1;border-color:rgb(227 160 8 / var(--tw-border-opacity))}.border-yellow-500{--tw-border-opacity: 1;border-color:rgb(194 120 3 / var(--tw-border-opacity))}.bg-accent{background-color:var(--color-accent)}.bg-bg-dark-tone-panel{background-color:var(--color-bg-dark-tone-panel)}.bg-bg-light{background-color:var(--color-bg-light)}.bg-bg-light-discussion{background-color:var(--color-bg-light-discussion)}.bg-bg-light-panel{background-color:var(--color-bg-light-panel)}.bg-bg-light-tone{background-color:var(--color-bg-light-tone)}.bg-bg-light-tone-panel{background-color:var(--color-bg-light-tone-panel)}.bg-black{--tw-bg-opacity: 1;background-color:rgb(0 0 0 / var(--tw-bg-opacity))}.bg-blue-100{--tw-bg-opacity: 1;background-color:rgb(225 239 254 / var(--tw-bg-opacity))}.bg-blue-200{--tw-bg-opacity: 1;background-color:rgb(195 221 253 / var(--tw-bg-opacity))}.bg-blue-300{--tw-bg-opacity: 1;background-color:rgb(164 202 254 / var(--tw-bg-opacity))}.bg-blue-50{--tw-bg-opacity: 1;background-color:rgb(235 245 255 / var(--tw-bg-opacity))}.bg-blue-500{--tw-bg-opacity: 1;background-color:rgb(63 131 248 / var(--tw-bg-opacity))}.bg-blue-600{--tw-bg-opacity: 1;background-color:rgb(28 100 242 / var(--tw-bg-opacity))}.bg-blue-700{--tw-bg-opacity: 1;background-color:rgb(26 86 219 / var(--tw-bg-opacity))}.bg-gray-100{--tw-bg-opacity: 1;background-color:rgb(243 244 246 / var(--tw-bg-opacity))}.bg-gray-200{--tw-bg-opacity: 1;background-color:rgb(229 231 235 / var(--tw-bg-opacity))}.bg-gray-300{--tw-bg-opacity: 1;background-color:rgb(209 213 219 / var(--tw-bg-opacity))}.bg-gray-400{--tw-bg-opacity: 1;background-color:rgb(156 163 175 / var(--tw-bg-opacity))}.bg-gray-50{--tw-bg-opacity: 1;background-color:rgb(249 250 251 / var(--tw-bg-opacity))}.bg-gray-500{--tw-bg-opacity: 1;background-color:rgb(107 114 128 / var(--tw-bg-opacity))}.bg-gray-600{--tw-bg-opacity: 1;background-color:rgb(75 85 99 / var(--tw-bg-opacity))}.bg-gray-700{--tw-bg-opacity: 1;background-color:rgb(55 65 81 / var(--tw-bg-opacity))}.bg-gray-800{--tw-bg-opacity: 1;background-color:rgb(31 41 55 / var(--tw-bg-opacity))}.bg-gray-900{--tw-bg-opacity: 1;background-color:rgb(17 24 39 / var(--tw-bg-opacity))}.bg-green-100{--tw-bg-opacity: 1;background-color:rgb(222 247 236 / var(--tw-bg-opacity))}.bg-green-200{--tw-bg-opacity: 1;background-color:rgb(188 240 218 / var(--tw-bg-opacity))}.bg-green-400{--tw-bg-opacity: 1;background-color:rgb(49 196 141 / var(--tw-bg-opacity))}.bg-green-500{--tw-bg-opacity: 1;background-color:rgb(14 159 110 / var(--tw-bg-opacity))}.bg-green-600{--tw-bg-opacity: 1;background-color:rgb(5 122 85 / var(--tw-bg-opacity))}.bg-green-700{--tw-bg-opacity: 1;background-color:rgb(4 108 78 / var(--tw-bg-opacity))}.bg-indigo-100{--tw-bg-opacity: 1;background-color:rgb(229 237 255 / var(--tw-bg-opacity))}.bg-indigo-200{--tw-bg-opacity: 1;background-color:rgb(205 219 254 / var(--tw-bg-opacity))}.bg-indigo-500{--tw-bg-opacity: 1;background-color:rgb(104 117 245 / var(--tw-bg-opacity))}.bg-indigo-600{--tw-bg-opacity: 1;background-color:rgb(88 80 236 / var(--tw-bg-opacity))}.bg-orange-100{--tw-bg-opacity: 1;background-color:rgb(254 236 220 / var(--tw-bg-opacity))}.bg-pink-100{--tw-bg-opacity: 1;background-color:rgb(252 232 243 / var(--tw-bg-opacity))}.bg-pink-200{--tw-bg-opacity: 1;background-color:rgb(250 209 232 / var(--tw-bg-opacity))}.bg-pink-700{--tw-bg-opacity: 1;background-color:rgb(191 18 93 / var(--tw-bg-opacity))}.bg-primary{background-color:var(--color-primary)}.bg-primary-light{background-color:var(--color-primary-light)}.bg-purple-100{--tw-bg-opacity: 1;background-color:rgb(237 235 254 / var(--tw-bg-opacity))}.bg-purple-200{--tw-bg-opacity: 1;background-color:rgb(220 215 254 / var(--tw-bg-opacity))}.bg-purple-500{--tw-bg-opacity: 1;background-color:rgb(144 97 249 / var(--tw-bg-opacity))}.bg-purple-600{--tw-bg-opacity: 1;background-color:rgb(126 58 242 / var(--tw-bg-opacity))}.bg-purple-700{--tw-bg-opacity: 1;background-color:rgb(108 43 217 / var(--tw-bg-opacity))}.bg-red-100{--tw-bg-opacity: 1;background-color:rgb(253 232 232 / var(--tw-bg-opacity))}.bg-red-200{--tw-bg-opacity: 1;background-color:rgb(251 213 213 / var(--tw-bg-opacity))}.bg-red-400{--tw-bg-opacity: 1;background-color:rgb(249 128 128 / var(--tw-bg-opacity))}.bg-red-500{--tw-bg-opacity: 1;background-color:rgb(240 82 82 / var(--tw-bg-opacity))}.bg-red-600{--tw-bg-opacity: 1;background-color:rgb(224 36 36 / var(--tw-bg-opacity))}.bg-red-700{--tw-bg-opacity: 1;background-color:rgb(200 30 30 / var(--tw-bg-opacity))}.bg-secondary{background-color:var(--color-secondary)}.bg-transparent{background-color:transparent}.bg-white{--tw-bg-opacity: 1;background-color:rgb(255 255 255 / var(--tw-bg-opacity))}.bg-white\/30{background-color:#ffffff4d}.bg-white\/50{background-color:#ffffff80}.bg-yellow-100{--tw-bg-opacity: 1;background-color:rgb(253 246 178 / var(--tw-bg-opacity))}.bg-yellow-200{--tw-bg-opacity: 1;background-color:rgb(252 233 106 / var(--tw-bg-opacity))}.bg-yellow-400{--tw-bg-opacity: 1;background-color:rgb(227 160 8 / var(--tw-bg-opacity))}.bg-opacity-10{--tw-bg-opacity: .1}.bg-opacity-50{--tw-bg-opacity: .5}.bg-opacity-70{--tw-bg-opacity: .7}.bg-gradient-to-br{background-image:linear-gradient(to bottom right,var(--tw-gradient-stops))}.bg-gradient-to-r{background-image:linear-gradient(to right,var(--tw-gradient-stops))}.bg-gradient-to-t{background-image:linear-gradient(to top,var(--tw-gradient-stops))}.from-bg-light{--tw-gradient-from: var(--color-bg-light) var(--tw-gradient-from-position);--tw-gradient-to: rgb(255 255 255 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.from-bg-light-tone{--tw-gradient-from: var(--color-bg-light-tone) var(--tw-gradient-from-position);--tw-gradient-to: rgb(255 255 255 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.from-blue-500{--tw-gradient-from: #3F83F8 var(--tw-gradient-from-position);--tw-gradient-to: rgb(63 131 248 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.from-cyan-500{--tw-gradient-from: #06b6d4 var(--tw-gradient-from-position);--tw-gradient-to: rgb(6 182 212 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.from-green-400{--tw-gradient-from: #31C48D var(--tw-gradient-from-position);--tw-gradient-to: rgb(49 196 141 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.from-green-500{--tw-gradient-from: #0E9F6E var(--tw-gradient-from-position);--tw-gradient-to: rgb(14 159 110 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.from-lime-500{--tw-gradient-from: #84cc16 var(--tw-gradient-from-position);--tw-gradient-to: rgb(132 204 22 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.from-pink-500{--tw-gradient-from: #E74694 var(--tw-gradient-from-position);--tw-gradient-to: rgb(231 70 148 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.from-purple-500{--tw-gradient-from: #9061F9 var(--tw-gradient-from-position);--tw-gradient-to: rgb(144 97 249 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.from-purple-600{--tw-gradient-from: #7E3AF2 var(--tw-gradient-from-position);--tw-gradient-to: rgb(126 58 242 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.from-red-200{--tw-gradient-from: #FBD5D5 var(--tw-gradient-from-position);--tw-gradient-to: rgb(251 213 213 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.from-red-500{--tw-gradient-from: #F05252 var(--tw-gradient-from-position);--tw-gradient-to: rgb(240 82 82 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.from-teal-200{--tw-gradient-from: #AFECEF var(--tw-gradient-from-position);--tw-gradient-to: rgb(175 236 239 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.from-teal-300{--tw-gradient-from: #7EDCE2 var(--tw-gradient-from-position);--tw-gradient-to: rgb(126 220 226 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.from-teal-500{--tw-gradient-from: #0694A2 var(--tw-gradient-from-position);--tw-gradient-to: rgb(6 148 162 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.from-5\%{--tw-gradient-from-position: 5%}.via-bg-light{--tw-gradient-to: rgb(255 255 255 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--color-bg-light) var(--tw-gradient-via-position), var(--tw-gradient-to)}.via-blue-600{--tw-gradient-to: rgb(28 100 242 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), #1C64F2 var(--tw-gradient-via-position), var(--tw-gradient-to)}.via-cyan-600{--tw-gradient-to: rgb(8 145 178 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), #0891b2 var(--tw-gradient-via-position), var(--tw-gradient-to)}.via-green-600{--tw-gradient-to: rgb(5 122 85 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), #057A55 var(--tw-gradient-via-position), var(--tw-gradient-to)}.via-lime-600{--tw-gradient-to: rgb(101 163 13 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), #65a30d var(--tw-gradient-via-position), var(--tw-gradient-to)}.via-pink-600{--tw-gradient-to: rgb(214 31 105 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), #D61F69 var(--tw-gradient-via-position), var(--tw-gradient-to)}.via-purple-600{--tw-gradient-to: rgb(126 58 242 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), #7E3AF2 var(--tw-gradient-via-position), var(--tw-gradient-to)}.via-red-300{--tw-gradient-to: rgb(248 180 180 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), #F8B4B4 var(--tw-gradient-via-position), var(--tw-gradient-to)}.via-red-600{--tw-gradient-to: rgb(224 36 36 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), #E02424 var(--tw-gradient-via-position), var(--tw-gradient-to)}.via-teal-600{--tw-gradient-to: rgb(4 116 129 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), #047481 var(--tw-gradient-via-position), var(--tw-gradient-to)}.via-10\%{--tw-gradient-via-position: 10%}.to-blue-500{--tw-gradient-to: #3F83F8 var(--tw-gradient-to-position)}.to-blue-600{--tw-gradient-to: #1C64F2 var(--tw-gradient-to-position)}.to-blue-700{--tw-gradient-to: #1A56DB var(--tw-gradient-to-position)}.to-cyan-700{--tw-gradient-to: #0e7490 var(--tw-gradient-to-position)}.to-green-700{--tw-gradient-to: #046C4E var(--tw-gradient-to-position)}.to-lime-200{--tw-gradient-to: #d9f99d var(--tw-gradient-to-position)}.to-lime-300{--tw-gradient-to: #bef264 var(--tw-gradient-to-position)}.to-lime-700{--tw-gradient-to: #4d7c0f var(--tw-gradient-to-position)}.to-orange-400{--tw-gradient-to: #FF8A4C var(--tw-gradient-to-position)}.to-pink-500{--tw-gradient-to: #E74694 var(--tw-gradient-to-position)}.to-pink-700{--tw-gradient-to: #BF125D var(--tw-gradient-to-position)}.to-purple-700{--tw-gradient-to: #6C2BD9 var(--tw-gradient-to-position)}.to-red-700{--tw-gradient-to: #C81E1E var(--tw-gradient-to-position)}.to-teal-700{--tw-gradient-to: #036672 var(--tw-gradient-to-position)}.to-transparent{--tw-gradient-to: transparent var(--tw-gradient-to-position)}.to-yellow-200{--tw-gradient-to: #FCE96A var(--tw-gradient-to-position)}.to-100\%{--tw-gradient-to-position: 100%}.fill-blue-600{fill:#1c64f2}.fill-gray-300{fill:#d1d5db}.fill-gray-600{fill:#4b5563}.fill-green-500{fill:#0e9f6e}.fill-pink-600{fill:#d61f69}.fill-purple-600{fill:#7e3af2}.fill-red-600{fill:#e02424}.fill-secondary{fill:var(--color-secondary)}.fill-white{fill:#fff}.fill-yellow-400{fill:#e3a008}.object-cover{-o-object-fit:cover;object-fit:cover}.object-fill{-o-object-fit:fill;object-fit:fill}.p-0{padding:0}.p-0\.5{padding:.125rem}.p-1{padding:.25rem}.p-1\.5{padding:.375rem}.p-10{padding:2.5rem}.p-2{padding:.5rem}.p-2\.5{padding:.625rem}.p-3{padding:.75rem}.p-4{padding:1rem}.p-5{padding:1.25rem}.p-6{padding:1.5rem}.p-8{padding:2rem}.px-0{padding-left:0;padding-right:0}.px-1{padding-left:.25rem;padding-right:.25rem}.px-2{padding-left:.5rem;padding-right:.5rem}.px-2\.5{padding-left:.625rem;padding-right:.625rem}.px-3{padding-left:.75rem;padding-right:.75rem}.px-4{padding-left:1rem;padding-right:1rem}.px-5{padding-left:1.25rem;padding-right:1.25rem}.px-6{padding-left:1.5rem;padding-right:1.5rem}.py-0{padding-top:0;padding-bottom:0}.py-0\.5{padding-top:.125rem;padding-bottom:.125rem}.py-1{padding-top:.25rem;padding-bottom:.25rem}.py-1\.5{padding-top:.375rem;padding-bottom:.375rem}.py-2{padding-top:.5rem;padding-bottom:.5rem}.py-2\.5{padding-top:.625rem;padding-bottom:.625rem}.py-3{padding-top:.75rem;padding-bottom:.75rem}.py-4{padding-top:1rem;padding-bottom:1rem}.pb-0{padding-bottom:0}.pb-2{padding-bottom:.5rem}.pb-4{padding-bottom:1rem}.pb-5{padding-bottom:1.25rem}.pb-6{padding-bottom:1.5rem}.pl-10{padding-left:2.5rem}.pl-2{padding-left:.5rem}.pl-3{padding-left:.75rem}.pl-4{padding-left:1rem}.pr-10{padding-right:2.5rem}.pr-2{padding-right:.5rem}.pr-3{padding-right:.75rem}.pr-4{padding-right:1rem}.pt-0{padding-top:0}.pt-16{padding-top:4rem}.pt-2{padding-top:.5rem}.pt-24{padding-top:6rem}.pt-4{padding-top:1rem}.text-left{text-align:left}.text-center{text-align:center}.text-right{text-align:right}.align-middle{vertical-align:middle}.align-bottom{vertical-align:bottom}.font-sans{font-family:PTSans,Roboto,sans-serif}.text-2xl{font-size:1.5rem;line-height:2rem}.text-4xl{font-size:2.25rem;line-height:2.5rem}.text-5xl{font-size:3rem;line-height:1}.text-\[\.82rem\]{font-size:.82rem}.text-base{font-size:1rem;line-height:1.5rem}.text-lg{font-size:1.125rem;line-height:1.75rem}.text-sm{font-size:.875rem;line-height:1.25rem}.text-xl{font-size:1.25rem;line-height:1.75rem}.text-xs{font-size:.75rem;line-height:1rem}.font-bold{font-weight:700}.font-medium{font-weight:500}.font-normal{font-weight:400}.font-semibold{font-weight:600}.font-thin{font-weight:100}.uppercase{text-transform:uppercase}.leading-4{line-height:1rem}.leading-6{line-height:1.5rem}.leading-9{line-height:2.25rem}.leading-none{line-height:1}.leading-tight{line-height:1.25}.text-black{--tw-text-opacity: 1;color:rgb(0 0 0 / var(--tw-text-opacity))}.text-blue-100{--tw-text-opacity: 1;color:rgb(225 239 254 / var(--tw-text-opacity))}.text-blue-500{--tw-text-opacity: 1;color:rgb(63 131 248 / var(--tw-text-opacity))}.text-blue-600{--tw-text-opacity: 1;color:rgb(28 100 242 / var(--tw-text-opacity))}.text-blue-700{--tw-text-opacity: 1;color:rgb(26 86 219 / var(--tw-text-opacity))}.text-blue-800{--tw-text-opacity: 1;color:rgb(30 66 159 / var(--tw-text-opacity))}.text-dark-text-panel{color:var(--color-dark-text-panel)}.text-gray-100{--tw-text-opacity: 1;color:rgb(243 244 246 / var(--tw-text-opacity))}.text-gray-200{--tw-text-opacity: 1;color:rgb(229 231 235 / var(--tw-text-opacity))}.text-gray-300{--tw-text-opacity: 1;color:rgb(209 213 219 / var(--tw-text-opacity))}.text-gray-400{--tw-text-opacity: 1;color:rgb(156 163 175 / var(--tw-text-opacity))}.text-gray-500{--tw-text-opacity: 1;color:rgb(107 114 128 / var(--tw-text-opacity))}.text-gray-600{--tw-text-opacity: 1;color:rgb(75 85 99 / var(--tw-text-opacity))}.text-gray-700{--tw-text-opacity: 1;color:rgb(55 65 81 / var(--tw-text-opacity))}.text-gray-800{--tw-text-opacity: 1;color:rgb(31 41 55 / var(--tw-text-opacity))}.text-gray-900{--tw-text-opacity: 1;color:rgb(17 24 39 / var(--tw-text-opacity))}.text-green-200{--tw-text-opacity: 1;color:rgb(188 240 218 / var(--tw-text-opacity))}.text-green-500{--tw-text-opacity: 1;color:rgb(14 159 110 / var(--tw-text-opacity))}.text-green-600{--tw-text-opacity: 1;color:rgb(5 122 85 / var(--tw-text-opacity))}.text-green-700{--tw-text-opacity: 1;color:rgb(4 108 78 / var(--tw-text-opacity))}.text-green-800{--tw-text-opacity: 1;color:rgb(3 84 63 / var(--tw-text-opacity))}.text-green-900{--tw-text-opacity: 1;color:rgb(1 71 55 / var(--tw-text-opacity))}.text-indigo-500{--tw-text-opacity: 1;color:rgb(104 117 245 / var(--tw-text-opacity))}.text-indigo-700{--tw-text-opacity: 1;color:rgb(81 69 205 / var(--tw-text-opacity))}.text-indigo-800{--tw-text-opacity: 1;color:rgb(66 56 157 / var(--tw-text-opacity))}.text-indigo-900{--tw-text-opacity: 1;color:rgb(54 47 120 / var(--tw-text-opacity))}.text-light-text-panel{color:var(--color-light-text-panel)}.text-orange-200{--tw-text-opacity: 1;color:rgb(252 217 189 / var(--tw-text-opacity))}.text-orange-500{--tw-text-opacity: 1;color:rgb(255 90 31 / var(--tw-text-opacity))}.text-pink-500{--tw-text-opacity: 1;color:rgb(231 70 148 / var(--tw-text-opacity))}.text-pink-600{--tw-text-opacity: 1;color:rgb(214 31 105 / var(--tw-text-opacity))}.text-pink-700{--tw-text-opacity: 1;color:rgb(191 18 93 / var(--tw-text-opacity))}.text-pink-800{--tw-text-opacity: 1;color:rgb(153 21 75 / var(--tw-text-opacity))}.text-pink-900{--tw-text-opacity: 1;color:rgb(117 26 61 / var(--tw-text-opacity))}.text-purple-500{--tw-text-opacity: 1;color:rgb(144 97 249 / var(--tw-text-opacity))}.text-purple-600{--tw-text-opacity: 1;color:rgb(126 58 242 / var(--tw-text-opacity))}.text-purple-700{--tw-text-opacity: 1;color:rgb(108 43 217 / var(--tw-text-opacity))}.text-purple-800{--tw-text-opacity: 1;color:rgb(85 33 181 / var(--tw-text-opacity))}.text-purple-900{--tw-text-opacity: 1;color:rgb(74 29 150 / var(--tw-text-opacity))}.text-red-200{--tw-text-opacity: 1;color:rgb(251 213 213 / var(--tw-text-opacity))}.text-red-400{--tw-text-opacity: 1;color:rgb(249 128 128 / var(--tw-text-opacity))}.text-red-500{--tw-text-opacity: 1;color:rgb(240 82 82 / var(--tw-text-opacity))}.text-red-600{--tw-text-opacity: 1;color:rgb(224 36 36 / var(--tw-text-opacity))}.text-red-700{--tw-text-opacity: 1;color:rgb(200 30 30 / var(--tw-text-opacity))}.text-red-800{--tw-text-opacity: 1;color:rgb(155 28 28 / var(--tw-text-opacity))}.text-red-900{--tw-text-opacity: 1;color:rgb(119 29 29 / var(--tw-text-opacity))}.text-secondary{color:var(--color-secondary)}.text-slate-50{--tw-text-opacity: 1;color:rgb(248 250 252 / var(--tw-text-opacity))}.text-slate-950{--tw-text-opacity: 1;color:rgb(2 6 23 / var(--tw-text-opacity))}.text-white{--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity))}.text-yellow-400{--tw-text-opacity: 1;color:rgb(227 160 8 / var(--tw-text-opacity))}.text-yellow-500{--tw-text-opacity: 1;color:rgb(194 120 3 / var(--tw-text-opacity))}.text-yellow-700{--tw-text-opacity: 1;color:rgb(142 75 16 / var(--tw-text-opacity))}.text-yellow-800{--tw-text-opacity: 1;color:rgb(114 59 19 / var(--tw-text-opacity))}.text-yellow-900{--tw-text-opacity: 1;color:rgb(99 49 18 / var(--tw-text-opacity))}.text-opacity-95{--tw-text-opacity: .95}.underline{text-decoration-line:underline}.opacity-0{opacity:0}.opacity-100{opacity:1}.opacity-20{opacity:.2}.opacity-30{opacity:.3}.opacity-50{opacity:.5}.opacity-80{opacity:.8}.shadow{--tw-shadow: 0 1px 3px 0 rgb(0 0 0 / .1), 0 1px 2px -1px rgb(0 0 0 / .1);--tw-shadow-colored: 0 1px 3px 0 var(--tw-shadow-color), 0 1px 2px -1px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-inner{--tw-shadow: inset 0 2px 4px 0 rgb(0 0 0 / .05);--tw-shadow-colored: inset 0 2px 4px 0 var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-lg{--tw-shadow: 0 10px 15px -3px rgb(0 0 0 / .1), 0 4px 6px -4px rgb(0 0 0 / .1);--tw-shadow-colored: 0 10px 15px -3px var(--tw-shadow-color), 0 4px 6px -4px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-md{--tw-shadow: 0 4px 6px -1px rgb(0 0 0 / .1), 0 2px 4px -2px rgb(0 0 0 / .1);--tw-shadow-colored: 0 4px 6px -1px var(--tw-shadow-color), 0 2px 4px -2px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-sm{--tw-shadow: 0 1px 2px 0 rgb(0 0 0 / .05);--tw-shadow-colored: 0 1px 2px 0 var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-blue-500\/50{--tw-shadow-color: rgb(63 131 248 / .5);--tw-shadow: var(--tw-shadow-colored)}.shadow-blue-800\/80{--tw-shadow-color: rgb(30 66 159 / .8);--tw-shadow: var(--tw-shadow-colored)}.shadow-cyan-500\/50{--tw-shadow-color: rgb(6 182 212 / .5);--tw-shadow: var(--tw-shadow-colored)}.shadow-cyan-800\/80{--tw-shadow-color: rgb(21 94 117 / .8);--tw-shadow: var(--tw-shadow-colored)}.shadow-green-500\/50{--tw-shadow-color: rgb(14 159 110 / .5);--tw-shadow: var(--tw-shadow-colored)}.shadow-green-800\/80{--tw-shadow-color: rgb(3 84 63 / .8);--tw-shadow: var(--tw-shadow-colored)}.shadow-lime-500\/50{--tw-shadow-color: rgb(132 204 22 / .5);--tw-shadow: var(--tw-shadow-colored)}.shadow-lime-800\/80{--tw-shadow-color: rgb(63 98 18 / .8);--tw-shadow: var(--tw-shadow-colored)}.shadow-pink-500\/50{--tw-shadow-color: rgb(231 70 148 / .5);--tw-shadow: var(--tw-shadow-colored)}.shadow-pink-800\/80{--tw-shadow-color: rgb(153 21 75 / .8);--tw-shadow: var(--tw-shadow-colored)}.shadow-purple-500\/50{--tw-shadow-color: rgb(144 97 249 / .5);--tw-shadow: var(--tw-shadow-colored)}.shadow-purple-800\/80{--tw-shadow-color: rgb(85 33 181 / .8);--tw-shadow: var(--tw-shadow-colored)}.shadow-red-500\/50{--tw-shadow-color: rgb(240 82 82 / .5);--tw-shadow: var(--tw-shadow-colored)}.shadow-red-800\/80{--tw-shadow-color: rgb(155 28 28 / .8);--tw-shadow: var(--tw-shadow-colored)}.shadow-teal-500\/50{--tw-shadow-color: rgb(6 148 162 / .5);--tw-shadow: var(--tw-shadow-colored)}.outline-none{outline:2px solid transparent;outline-offset:2px}.outline{outline-style:solid}.ring-2{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.ring-blue-800{--tw-ring-opacity: 1;--tw-ring-color: rgb(30 66 159 / var(--tw-ring-opacity))}.ring-cyan-800{--tw-ring-opacity: 1;--tw-ring-color: rgb(21 94 117 / var(--tw-ring-opacity))}.ring-gray-300{--tw-ring-opacity: 1;--tw-ring-color: rgb(209 213 219 / var(--tw-ring-opacity))}.ring-gray-600{--tw-ring-opacity: 1;--tw-ring-color: rgb(75 85 99 / var(--tw-ring-opacity))}.ring-gray-800{--tw-ring-opacity: 1;--tw-ring-color: rgb(31 41 55 / var(--tw-ring-opacity))}.ring-green-800{--tw-ring-opacity: 1;--tw-ring-color: rgb(3 84 63 / var(--tw-ring-opacity))}.ring-pink-800{--tw-ring-opacity: 1;--tw-ring-color: rgb(153 21 75 / var(--tw-ring-opacity))}.ring-pink-900{--tw-ring-opacity: 1;--tw-ring-color: rgb(117 26 61 / var(--tw-ring-opacity))}.ring-purple-800{--tw-ring-opacity: 1;--tw-ring-color: rgb(85 33 181 / var(--tw-ring-opacity))}.ring-purple-900{--tw-ring-opacity: 1;--tw-ring-color: rgb(74 29 150 / var(--tw-ring-opacity))}.ring-red-400{--tw-ring-opacity: 1;--tw-ring-color: rgb(249 128 128 / var(--tw-ring-opacity))}.ring-red-900{--tw-ring-opacity: 1;--tw-ring-color: rgb(119 29 29 / var(--tw-ring-opacity))}.blur{--tw-blur: blur(8px);filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.drop-shadow-md{--tw-drop-shadow: drop-shadow(0 4px 3px rgb(0 0 0 / .07)) drop-shadow(0 2px 2px rgb(0 0 0 / .06));filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.drop-shadow-sm{--tw-drop-shadow: drop-shadow(0 1px 1px rgb(0 0 0 / .05));filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.grayscale{--tw-grayscale: grayscale(100%);filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.backdrop-blur-md{--tw-backdrop-blur: blur(12px);-webkit-backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}.backdrop-blur-sm{--tw-backdrop-blur: blur(4px);-webkit-backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}.transition{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,-webkit-backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter,-webkit-backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-all{transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-colors{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-opacity{transition-property:opacity;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-transform{transition-property:transform;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.duration-150{transition-duration:.15s}.duration-200{transition-duration:.2s}.duration-300{transition-duration:.3s}.duration-75{transition-duration:75ms}.ease-in{transition-timing-function:cubic-bezier(.4,0,1,1)}.ease-in-out{transition-timing-function:cubic-bezier(.4,0,.2,1)}.ease-out{transition-timing-function:cubic-bezier(0,0,.2,1)}.scrollbar-thin{scrollbar-color:var(--scrollbar-thumb, initial) var(--scrollbar-track, initial)}.scrollbar-thin::-webkit-scrollbar-track{background-color:var(--scrollbar-track);border-radius:var(--scrollbar-track-radius)}.scrollbar-thin::-webkit-scrollbar-track:hover{background-color:var(--scrollbar-track-hover, var(--scrollbar-track))}.scrollbar-thin::-webkit-scrollbar-track:active{background-color:var(--scrollbar-track-active, var(--scrollbar-track-hover, var(--scrollbar-track)))}.scrollbar-thin::-webkit-scrollbar-thumb{background-color:var(--scrollbar-thumb);border-radius:var(--scrollbar-thumb-radius)}.scrollbar-thin::-webkit-scrollbar-thumb:hover{background-color:var(--scrollbar-thumb-hover, var(--scrollbar-thumb))}.scrollbar-thin::-webkit-scrollbar-thumb:active{background-color:var(--scrollbar-thumb-active, var(--scrollbar-thumb-hover, var(--scrollbar-thumb)))}.scrollbar-thin::-webkit-scrollbar-corner{background-color:var(--scrollbar-corner);border-radius:var(--scrollbar-corner-radius)}.scrollbar-thin::-webkit-scrollbar-corner:hover{background-color:var(--scrollbar-corner-hover, var(--scrollbar-corner))}.scrollbar-thin::-webkit-scrollbar-corner:active{background-color:var(--scrollbar-corner-active, var(--scrollbar-corner-hover, var(--scrollbar-corner)))}.scrollbar-thin{scrollbar-width:thin}.scrollbar-thin::-webkit-scrollbar{display:block;width:8px;height:8px}.scrollbar-track-bg-light{--scrollbar-track: var(--color-bg-light) !important}.scrollbar-track-bg-light-tone{--scrollbar-track: var(--color-bg-light-tone) !important}.scrollbar-thumb-bg-light-tone{--scrollbar-thumb: var(--color-bg-light-tone) !important}.scrollbar-thumb-bg-light-tone-panel{--scrollbar-thumb: var(--color-bg-light-tone-panel) !important}.no-scrollbar::-webkit-scrollbar{display:none}.no-scrollbar{-ms-overflow-style:none;scrollbar-width:none}.display-none{display:none}h1{font-size:36px;font-weight:700}h2{font-size:24px;font-weight:700}h3{font-size:18px;font-weight:700}h4{font-size:18px;font-style:italic}p{font-size:16px;word-wrap:break-word;overflow-wrap:break-word;white-space:normal}ul{list-style-type:disc;margin-left:0}li{list-style-type:disc;margin-left:20px}ol{list-style-type:decimal;margin-left:20px}:root{--color-primary: #0e8ef0;--color-primary-light: #3dabff;--color-secondary: #0fd974;--color-accent: #f0700e;--color-light-text-panel: #ffffff;--color-dark-text-panel: #ffffff;--color-bg-light-panel: #7cb5ec;--color-bg-light: #e2edff;--color-bg-light-tone: #b9d2f7;--color-bg-light-code-block: #cad7ed;--color-bg-light-tone-panel: #8fb5ef;--color-bg-light-discussion: #c5d8f8;--color-bg-light-discussion-odd: #d6e7ff;--color-bg-dark: #132e59;--color-bg-dark-tone: #25477d;--color-bg-dark-tone-panel: #4367a3;--color-bg-dark-code-block: #2254a7;--color-bg-dark-discussion: #435E8A;--color-bg-dark-discussion-odd: #284471}.last\:mb-0:last-child{margin-bottom:0}.last\:\!border-transparent:last-child{border-color:transparent!important}.last\:pb-0:last-child{padding-bottom:0}.odd\:bg-bg-light-tone:nth-child(odd){background-color:var(--color-bg-light-tone)}.even\:bg-bg-light-discussion-odd:nth-child(2n){background-color:var(--color-bg-light-discussion-odd)}.even\:bg-bg-light-tone-panel:nth-child(2n){background-color:var(--color-bg-light-tone-panel)}.group:hover .group-hover\:visible{visibility:visible}.group:hover .group-hover\:bottom-0{bottom:0}.group:hover .group-hover\:block{display:block}.group:hover .group-hover\:-translate-x-12{--tw-translate-x: -3rem;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.group:hover .group-hover\:-translate-x-8{--tw-translate-x: -2rem;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.group:hover .group-hover\:-translate-y-8{--tw-translate-y: -2rem;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.group:hover .group-hover\:translate-x-5{--tw-translate-x: 1.25rem;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.group:hover .group-hover\:translate-x-\[0px\]{--tw-translate-x: 0px;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.group:hover .group-hover\:translate-y-\[-50px\]{--tw-translate-y: -50px;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.group:hover .group-hover\:border-secondary{border-color:var(--color-secondary)}.group:hover .group-hover\:bg-white\/50{background-color:#ffffff80}.group:hover .group-hover\:bg-opacity-0{--tw-bg-opacity: 0}.group:hover .group-hover\:from-cyan-500{--tw-gradient-from: #06b6d4 var(--tw-gradient-from-position);--tw-gradient-to: rgb(6 182 212 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.group:hover .group-hover\:from-green-400{--tw-gradient-from: #31C48D var(--tw-gradient-from-position);--tw-gradient-to: rgb(49 196 141 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.group:hover .group-hover\:from-pink-500{--tw-gradient-from: #E74694 var(--tw-gradient-from-position);--tw-gradient-to: rgb(231 70 148 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.group:hover .group-hover\:from-purple-500{--tw-gradient-from: #9061F9 var(--tw-gradient-from-position);--tw-gradient-to: rgb(144 97 249 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.group:hover .group-hover\:from-purple-600{--tw-gradient-from: #7E3AF2 var(--tw-gradient-from-position);--tw-gradient-to: rgb(126 58 242 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.group:hover .group-hover\:from-red-200{--tw-gradient-from: #FBD5D5 var(--tw-gradient-from-position);--tw-gradient-to: rgb(251 213 213 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.group:hover .group-hover\:from-teal-300{--tw-gradient-from: #7EDCE2 var(--tw-gradient-from-position);--tw-gradient-to: rgb(126 220 226 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.group:hover .group-hover\:via-red-300{--tw-gradient-to: rgb(248 180 180 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), #F8B4B4 var(--tw-gradient-via-position), var(--tw-gradient-to)}.group:hover .group-hover\:to-blue-500{--tw-gradient-to: #3F83F8 var(--tw-gradient-to-position)}.group:hover .group-hover\:to-blue-600{--tw-gradient-to: #1C64F2 var(--tw-gradient-to-position)}.group:hover .group-hover\:to-lime-300{--tw-gradient-to: #bef264 var(--tw-gradient-to-position)}.group:hover .group-hover\:to-orange-400{--tw-gradient-to: #FF8A4C var(--tw-gradient-to-position)}.group:hover .group-hover\:to-pink-500{--tw-gradient-to: #E74694 var(--tw-gradient-to-position)}.group:hover .group-hover\:to-yellow-200{--tw-gradient-to: #FCE96A var(--tw-gradient-to-position)}.group:hover .group-hover\:text-gray-900{--tw-text-opacity: 1;color:rgb(17 24 39 / var(--tw-text-opacity))}.group:hover .group-hover\:text-yellow-400{--tw-text-opacity: 1;color:rgb(227 160 8 / var(--tw-text-opacity))}.group:hover .group-hover\:opacity-100{opacity:1}.group:focus .group-focus\:outline-none{outline:2px solid transparent;outline-offset:2px}.group:focus .group-focus\:ring-4{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(4px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.group:focus .group-focus\:ring-white{--tw-ring-opacity: 1;--tw-ring-color: rgb(255 255 255 / var(--tw-ring-opacity))}.peer:checked~.peer-checked\:text-primary{color:var(--color-primary)}.hover\:z-10:hover{z-index:10}.hover\:z-20:hover{z-index:20}.hover\:z-50:hover{z-index:50}.hover\:h-8:hover{height:2rem}.hover\:-translate-y-1:hover{--tw-translate-y: -.25rem;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.hover\:-translate-y-2:hover{--tw-translate-y: -.5rem;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.hover\:-translate-y-8:hover{--tw-translate-y: -2rem;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.hover\:translate-y-\[-5px\]:hover{--tw-translate-y: -5px;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.hover\:scale-110:hover{--tw-scale-x: 1.1;--tw-scale-y: 1.1;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.hover\:scale-150:hover{--tw-scale-x: 1.5;--tw-scale-y: 1.5;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.hover\:scale-95:hover{--tw-scale-x: .95;--tw-scale-y: .95;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.hover\:border-2:hover{border-width:2px}.hover\:border-solid:hover{border-style:solid}.hover\:border-gray-300:hover{--tw-border-opacity: 1;border-color:rgb(209 213 219 / var(--tw-border-opacity))}.hover\:border-gray-600:hover{--tw-border-opacity: 1;border-color:rgb(75 85 99 / var(--tw-border-opacity))}.hover\:border-green-200:hover{--tw-border-opacity: 1;border-color:rgb(188 240 218 / var(--tw-border-opacity))}.hover\:border-primary:hover{border-color:var(--color-primary)}.hover\:border-primary-light:hover{border-color:var(--color-primary-light)}.hover\:border-secondary:hover{border-color:var(--color-secondary)}.hover\:bg-accent:hover{background-color:var(--color-accent)}.hover\:bg-bg-light-tone:hover{background-color:var(--color-bg-light-tone)}.hover\:bg-bg-light-tone-panel:hover{background-color:var(--color-bg-light-tone-panel)}.hover\:bg-blue-100:hover{--tw-bg-opacity: 1;background-color:rgb(225 239 254 / var(--tw-bg-opacity))}.hover\:bg-blue-200:hover{--tw-bg-opacity: 1;background-color:rgb(195 221 253 / var(--tw-bg-opacity))}.hover\:bg-blue-300:hover{--tw-bg-opacity: 1;background-color:rgb(164 202 254 / var(--tw-bg-opacity))}.hover\:bg-blue-400:hover{--tw-bg-opacity: 1;background-color:rgb(118 169 250 / var(--tw-bg-opacity))}.hover\:bg-blue-500:hover{--tw-bg-opacity: 1;background-color:rgb(63 131 248 / var(--tw-bg-opacity))}.hover\:bg-blue-600:hover{--tw-bg-opacity: 1;background-color:rgb(28 100 242 / var(--tw-bg-opacity))}.hover\:bg-blue-700:hover{--tw-bg-opacity: 1;background-color:rgb(26 86 219 / var(--tw-bg-opacity))}.hover\:bg-blue-800:hover{--tw-bg-opacity: 1;background-color:rgb(30 66 159 / var(--tw-bg-opacity))}.hover\:bg-gray-100:hover{--tw-bg-opacity: 1;background-color:rgb(243 244 246 / var(--tw-bg-opacity))}.hover\:bg-gray-200:hover{--tw-bg-opacity: 1;background-color:rgb(229 231 235 / var(--tw-bg-opacity))}.hover\:bg-gray-50:hover{--tw-bg-opacity: 1;background-color:rgb(249 250 251 / var(--tw-bg-opacity))}.hover\:bg-gray-600:hover{--tw-bg-opacity: 1;background-color:rgb(75 85 99 / var(--tw-bg-opacity))}.hover\:bg-gray-900:hover{--tw-bg-opacity: 1;background-color:rgb(17 24 39 / var(--tw-bg-opacity))}.hover\:bg-green-200:hover{--tw-bg-opacity: 1;background-color:rgb(188 240 218 / var(--tw-bg-opacity))}.hover\:bg-green-300:hover{--tw-bg-opacity: 1;background-color:rgb(132 225 188 / var(--tw-bg-opacity))}.hover\:bg-green-700:hover{--tw-bg-opacity: 1;background-color:rgb(4 108 78 / var(--tw-bg-opacity))}.hover\:bg-green-800:hover{--tw-bg-opacity: 1;background-color:rgb(3 84 63 / var(--tw-bg-opacity))}.hover\:bg-pink-800:hover{--tw-bg-opacity: 1;background-color:rgb(153 21 75 / var(--tw-bg-opacity))}.hover\:bg-primary:hover{background-color:var(--color-primary)}.hover\:bg-primary-light:hover{background-color:var(--color-primary-light)}.hover\:bg-purple-800:hover{--tw-bg-opacity: 1;background-color:rgb(85 33 181 / var(--tw-bg-opacity))}.hover\:bg-red-200:hover{--tw-bg-opacity: 1;background-color:rgb(251 213 213 / var(--tw-bg-opacity))}.hover\:bg-red-300:hover{--tw-bg-opacity: 1;background-color:rgb(248 180 180 / var(--tw-bg-opacity))}.hover\:bg-red-600:hover{--tw-bg-opacity: 1;background-color:rgb(224 36 36 / var(--tw-bg-opacity))}.hover\:bg-red-700:hover{--tw-bg-opacity: 1;background-color:rgb(200 30 30 / var(--tw-bg-opacity))}.hover\:bg-red-800:hover{--tw-bg-opacity: 1;background-color:rgb(155 28 28 / var(--tw-bg-opacity))}.hover\:bg-secondary:hover{background-color:var(--color-secondary)}.hover\:bg-white:hover{--tw-bg-opacity: 1;background-color:rgb(255 255 255 / var(--tw-bg-opacity))}.hover\:bg-yellow-200:hover{--tw-bg-opacity: 1;background-color:rgb(252 233 106 / var(--tw-bg-opacity))}.hover\:bg-yellow-500:hover{--tw-bg-opacity: 1;background-color:rgb(194 120 3 / var(--tw-bg-opacity))}.hover\:bg-opacity-20:hover{--tw-bg-opacity: .2}.hover\:bg-gradient-to-bl:hover{background-image:linear-gradient(to bottom left,var(--tw-gradient-stops))}.hover\:bg-gradient-to-br:hover{background-image:linear-gradient(to bottom right,var(--tw-gradient-stops))}.hover\:bg-gradient-to-l:hover{background-image:linear-gradient(to left,var(--tw-gradient-stops))}.hover\:from-teal-200:hover{--tw-gradient-from: #AFECEF var(--tw-gradient-from-position);--tw-gradient-to: rgb(175 236 239 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.hover\:to-lime-200:hover{--tw-gradient-to: #d9f99d var(--tw-gradient-to-position)}.hover\:fill-primary:hover{fill:var(--color-primary)}.hover\:text-blue-600:hover{--tw-text-opacity: 1;color:rgb(28 100 242 / var(--tw-text-opacity))}.hover\:text-blue-700:hover{--tw-text-opacity: 1;color:rgb(26 86 219 / var(--tw-text-opacity))}.hover\:text-gray-600:hover{--tw-text-opacity: 1;color:rgb(75 85 99 / var(--tw-text-opacity))}.hover\:text-gray-700:hover{--tw-text-opacity: 1;color:rgb(55 65 81 / var(--tw-text-opacity))}.hover\:text-gray-900:hover{--tw-text-opacity: 1;color:rgb(17 24 39 / var(--tw-text-opacity))}.hover\:text-green-300:hover{--tw-text-opacity: 1;color:rgb(132 225 188 / var(--tw-text-opacity))}.hover\:text-green-500:hover{--tw-text-opacity: 1;color:rgb(14 159 110 / var(--tw-text-opacity))}.hover\:text-primary:hover{color:var(--color-primary)}.hover\:text-red-300:hover{--tw-text-opacity: 1;color:rgb(248 180 180 / var(--tw-text-opacity))}.hover\:text-red-500:hover{--tw-text-opacity: 1;color:rgb(240 82 82 / var(--tw-text-opacity))}.hover\:text-red-600:hover{--tw-text-opacity: 1;color:rgb(224 36 36 / var(--tw-text-opacity))}.hover\:text-secondary:hover{color:var(--color-secondary)}.hover\:text-white:hover{--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity))}.hover\:underline:hover{text-decoration-line:underline}.hover\:no-underline:hover{text-decoration-line:none}.hover\:shadow-md:hover{--tw-shadow: 0 4px 6px -1px rgb(0 0 0 / .1), 0 2px 4px -2px rgb(0 0 0 / .1);--tw-shadow-colored: 0 4px 6px -1px var(--tw-shadow-color), 0 2px 4px -2px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.hover\:shadow-none:hover{--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.hover\:shadow-xl:hover{--tw-shadow: 0 20px 25px -5px rgb(0 0 0 / .1), 0 8px 10px -6px rgb(0 0 0 / .1);--tw-shadow-colored: 0 20px 25px -5px var(--tw-shadow-color), 0 8px 10px -6px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.hover\:scrollbar-thumb-primary{--scrollbar-thumb-hover: var(--color-primary) !important}.focus\:z-10:focus{z-index:10}.focus\:border-blue-300:focus{--tw-border-opacity: 1;border-color:rgb(164 202 254 / var(--tw-border-opacity))}.focus\:border-blue-500:focus{--tw-border-opacity: 1;border-color:rgb(63 131 248 / var(--tw-border-opacity))}.focus\:border-secondary:focus{border-color:var(--color-secondary)}.focus\:text-blue-700:focus{--tw-text-opacity: 1;color:rgb(26 86 219 / var(--tw-text-opacity))}.focus\:outline-none:focus{outline:2px solid transparent;outline-offset:2px}.focus\:ring:focus{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.focus\:ring-2:focus{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.focus\:ring-4:focus{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(4px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.focus\:ring-blue-200:focus{--tw-ring-opacity: 1;--tw-ring-color: rgb(195 221 253 / var(--tw-ring-opacity))}.focus\:ring-blue-300:focus{--tw-ring-opacity: 1;--tw-ring-color: rgb(164 202 254 / var(--tw-ring-opacity))}.focus\:ring-blue-400:focus{--tw-ring-opacity: 1;--tw-ring-color: rgb(118 169 250 / var(--tw-ring-opacity))}.focus\:ring-blue-500:focus{--tw-ring-opacity: 1;--tw-ring-color: rgb(63 131 248 / var(--tw-ring-opacity))}.focus\:ring-blue-700:focus{--tw-ring-opacity: 1;--tw-ring-color: rgb(26 86 219 / var(--tw-ring-opacity))}.focus\:ring-cyan-200:focus{--tw-ring-opacity: 1;--tw-ring-color: rgb(165 243 252 / var(--tw-ring-opacity))}.focus\:ring-cyan-300:focus{--tw-ring-opacity: 1;--tw-ring-color: rgb(103 232 249 / var(--tw-ring-opacity))}.focus\:ring-gray-200:focus{--tw-ring-opacity: 1;--tw-ring-color: rgb(229 231 235 / var(--tw-ring-opacity))}.focus\:ring-gray-300:focus{--tw-ring-opacity: 1;--tw-ring-color: rgb(209 213 219 / var(--tw-ring-opacity))}.focus\:ring-gray-400:focus{--tw-ring-opacity: 1;--tw-ring-color: rgb(156 163 175 / var(--tw-ring-opacity))}.focus\:ring-green-200:focus{--tw-ring-opacity: 1;--tw-ring-color: rgb(188 240 218 / var(--tw-ring-opacity))}.focus\:ring-green-300:focus{--tw-ring-opacity: 1;--tw-ring-color: rgb(132 225 188 / var(--tw-ring-opacity))}.focus\:ring-green-400:focus{--tw-ring-opacity: 1;--tw-ring-color: rgb(49 196 141 / var(--tw-ring-opacity))}.focus\:ring-lime-200:focus{--tw-ring-opacity: 1;--tw-ring-color: rgb(217 249 157 / var(--tw-ring-opacity))}.focus\:ring-lime-300:focus{--tw-ring-opacity: 1;--tw-ring-color: rgb(190 242 100 / var(--tw-ring-opacity))}.focus\:ring-pink-200:focus{--tw-ring-opacity: 1;--tw-ring-color: rgb(250 209 232 / var(--tw-ring-opacity))}.focus\:ring-pink-300:focus{--tw-ring-opacity: 1;--tw-ring-color: rgb(248 180 217 / var(--tw-ring-opacity))}.focus\:ring-purple-200:focus{--tw-ring-opacity: 1;--tw-ring-color: rgb(220 215 254 / var(--tw-ring-opacity))}.focus\:ring-purple-300:focus{--tw-ring-opacity: 1;--tw-ring-color: rgb(202 191 253 / var(--tw-ring-opacity))}.focus\:ring-red-100:focus{--tw-ring-opacity: 1;--tw-ring-color: rgb(253 232 232 / var(--tw-ring-opacity))}.focus\:ring-red-300:focus{--tw-ring-opacity: 1;--tw-ring-color: rgb(248 180 180 / var(--tw-ring-opacity))}.focus\:ring-red-400:focus{--tw-ring-opacity: 1;--tw-ring-color: rgb(249 128 128 / var(--tw-ring-opacity))}.focus\:ring-red-500:focus{--tw-ring-opacity: 1;--tw-ring-color: rgb(240 82 82 / var(--tw-ring-opacity))}.focus\:ring-secondary:focus{--tw-ring-color: var(--color-secondary)}.focus\:ring-teal-300:focus{--tw-ring-opacity: 1;--tw-ring-color: rgb(126 220 226 / var(--tw-ring-opacity))}.focus\:ring-yellow-300:focus{--tw-ring-opacity: 1;--tw-ring-color: rgb(250 202 21 / var(--tw-ring-opacity))}.focus\:ring-yellow-400:focus{--tw-ring-opacity: 1;--tw-ring-color: rgb(227 160 8 / var(--tw-ring-opacity))}.focus\:ring-opacity-50:focus{--tw-ring-opacity: .5}.active\:scale-75:active{--tw-scale-x: .75;--tw-scale-y: .75;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.active\:scale-90:active{--tw-scale-x: .9;--tw-scale-y: .9;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.active\:scale-95:active{--tw-scale-x: .95;--tw-scale-y: .95;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.active\:scrollbar-thumb-secondary{--scrollbar-thumb-active: var(--color-secondary) !important}:is(.dark .dark\:divide-gray-700)>:not([hidden])~:not([hidden]){--tw-divide-opacity: 1;border-color:rgb(55 65 81 / var(--tw-divide-opacity))}:is(.dark .dark\:border-bg-light){border-color:var(--color-bg-light)}:is(.dark .dark\:border-blue-500){--tw-border-opacity: 1;border-color:rgb(63 131 248 / var(--tw-border-opacity))}:is(.dark .dark\:border-gray-500){--tw-border-opacity: 1;border-color:rgb(107 114 128 / var(--tw-border-opacity))}:is(.dark .dark\:border-gray-600){--tw-border-opacity: 1;border-color:rgb(75 85 99 / var(--tw-border-opacity))}:is(.dark .dark\:border-gray-700){--tw-border-opacity: 1;border-color:rgb(55 65 81 / var(--tw-border-opacity))}:is(.dark .dark\:border-gray-800){--tw-border-opacity: 1;border-color:rgb(31 41 55 / var(--tw-border-opacity))}:is(.dark .dark\:border-gray-900){--tw-border-opacity: 1;border-color:rgb(17 24 39 / var(--tw-border-opacity))}:is(.dark .dark\:border-green-500){--tw-border-opacity: 1;border-color:rgb(14 159 110 / var(--tw-border-opacity))}:is(.dark .dark\:border-pink-400){--tw-border-opacity: 1;border-color:rgb(241 126 184 / var(--tw-border-opacity))}:is(.dark .dark\:border-pink-500){--tw-border-opacity: 1;border-color:rgb(231 70 148 / var(--tw-border-opacity))}:is(.dark .dark\:border-purple-400){--tw-border-opacity: 1;border-color:rgb(172 148 250 / var(--tw-border-opacity))}:is(.dark .dark\:border-purple-500){--tw-border-opacity: 1;border-color:rgb(144 97 249 / var(--tw-border-opacity))}:is(.dark .dark\:border-red-500){--tw-border-opacity: 1;border-color:rgb(240 82 82 / var(--tw-border-opacity))}:is(.dark .dark\:border-transparent){border-color:transparent}:is(.dark .dark\:border-yellow-300){--tw-border-opacity: 1;border-color:rgb(250 202 21 / var(--tw-border-opacity))}:is(.dark .dark\:bg-bg-dark){background-color:var(--color-bg-dark)}:is(.dark .dark\:bg-bg-dark-discussion){background-color:var(--color-bg-dark-discussion)}:is(.dark .dark\:bg-bg-dark-tone){background-color:var(--color-bg-dark-tone)}:is(.dark .dark\:bg-bg-dark-tone-panel){background-color:var(--color-bg-dark-tone-panel)}:is(.dark .dark\:bg-black){--tw-bg-opacity: 1;background-color:rgb(0 0 0 / var(--tw-bg-opacity))}:is(.dark .dark\:bg-blue-200){--tw-bg-opacity: 1;background-color:rgb(195 221 253 / var(--tw-bg-opacity))}:is(.dark .dark\:bg-blue-500){--tw-bg-opacity: 1;background-color:rgb(63 131 248 / var(--tw-bg-opacity))}:is(.dark .dark\:bg-blue-600){--tw-bg-opacity: 1;background-color:rgb(28 100 242 / var(--tw-bg-opacity))}:is(.dark .dark\:bg-blue-700){--tw-bg-opacity: 1;background-color:rgb(26 86 219 / var(--tw-bg-opacity))}:is(.dark .dark\:bg-blue-800){--tw-bg-opacity: 1;background-color:rgb(30 66 159 / var(--tw-bg-opacity))}:is(.dark .dark\:bg-blue-900){--tw-bg-opacity: 1;background-color:rgb(35 56 118 / var(--tw-bg-opacity))}:is(.dark .dark\:bg-gray-200){--tw-bg-opacity: 1;background-color:rgb(229 231 235 / var(--tw-bg-opacity))}:is(.dark .dark\:bg-gray-300){--tw-bg-opacity: 1;background-color:rgb(209 213 219 / var(--tw-bg-opacity))}:is(.dark .dark\:bg-gray-400){--tw-bg-opacity: 1;background-color:rgb(156 163 175 / var(--tw-bg-opacity))}:is(.dark .dark\:bg-gray-500){--tw-bg-opacity: 1;background-color:rgb(107 114 128 / var(--tw-bg-opacity))}:is(.dark .dark\:bg-gray-600){--tw-bg-opacity: 1;background-color:rgb(75 85 99 / var(--tw-bg-opacity))}:is(.dark .dark\:bg-gray-700){--tw-bg-opacity: 1;background-color:rgb(55 65 81 / var(--tw-bg-opacity))}:is(.dark .dark\:bg-gray-800){--tw-bg-opacity: 1;background-color:rgb(31 41 55 / var(--tw-bg-opacity))}:is(.dark .dark\:bg-gray-800\/30){background-color:#1f29374d}:is(.dark .dark\:bg-gray-800\/50){background-color:#1f293780}:is(.dark .dark\:bg-gray-900){--tw-bg-opacity: 1;background-color:rgb(17 24 39 / var(--tw-bg-opacity))}:is(.dark .dark\:bg-green-200){--tw-bg-opacity: 1;background-color:rgb(188 240 218 / var(--tw-bg-opacity))}:is(.dark .dark\:bg-green-500){--tw-bg-opacity: 1;background-color:rgb(14 159 110 / var(--tw-bg-opacity))}:is(.dark .dark\:bg-green-600){--tw-bg-opacity: 1;background-color:rgb(5 122 85 / var(--tw-bg-opacity))}:is(.dark .dark\:bg-green-800){--tw-bg-opacity: 1;background-color:rgb(3 84 63 / var(--tw-bg-opacity))}:is(.dark .dark\:bg-indigo-200){--tw-bg-opacity: 1;background-color:rgb(205 219 254 / var(--tw-bg-opacity))}:is(.dark .dark\:bg-indigo-500){--tw-bg-opacity: 1;background-color:rgb(104 117 245 / var(--tw-bg-opacity))}:is(.dark .dark\:bg-orange-700){--tw-bg-opacity: 1;background-color:rgb(180 52 3 / var(--tw-bg-opacity))}:is(.dark .dark\:bg-orange-800){--tw-bg-opacity: 1;background-color:rgb(138 44 13 / var(--tw-bg-opacity))}:is(.dark .dark\:bg-pink-200){--tw-bg-opacity: 1;background-color:rgb(250 209 232 / var(--tw-bg-opacity))}:is(.dark .dark\:bg-pink-600){--tw-bg-opacity: 1;background-color:rgb(214 31 105 / var(--tw-bg-opacity))}:is(.dark .dark\:bg-purple-200){--tw-bg-opacity: 1;background-color:rgb(220 215 254 / var(--tw-bg-opacity))}:is(.dark .dark\:bg-purple-500){--tw-bg-opacity: 1;background-color:rgb(144 97 249 / var(--tw-bg-opacity))}:is(.dark .dark\:bg-purple-600){--tw-bg-opacity: 1;background-color:rgb(126 58 242 / var(--tw-bg-opacity))}:is(.dark .dark\:bg-red-200){--tw-bg-opacity: 1;background-color:rgb(251 213 213 / var(--tw-bg-opacity))}:is(.dark .dark\:bg-red-500){--tw-bg-opacity: 1;background-color:rgb(240 82 82 / var(--tw-bg-opacity))}:is(.dark .dark\:bg-red-600){--tw-bg-opacity: 1;background-color:rgb(224 36 36 / var(--tw-bg-opacity))}:is(.dark .dark\:bg-red-800){--tw-bg-opacity: 1;background-color:rgb(155 28 28 / var(--tw-bg-opacity))}:is(.dark .dark\:bg-yellow-200){--tw-bg-opacity: 1;background-color:rgb(252 233 106 / var(--tw-bg-opacity))}:is(.dark .dark\:bg-opacity-70){--tw-bg-opacity: .7}:is(.dark .dark\:bg-opacity-80){--tw-bg-opacity: .8}:is(.dark .dark\:from-bg-dark){--tw-gradient-from: var(--color-bg-dark) var(--tw-gradient-from-position);--tw-gradient-to: rgb(255 255 255 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}:is(.dark .dark\:from-bg-dark-tone){--tw-gradient-from: var(--color-bg-dark-tone) var(--tw-gradient-from-position);--tw-gradient-to: rgb(255 255 255 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}:is(.dark .dark\:via-bg-dark){--tw-gradient-to: rgb(255 255 255 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--color-bg-dark) var(--tw-gradient-via-position), var(--tw-gradient-to)}:is(.dark .dark\:fill-gray-300){fill:#d1d5db}:is(.dark .dark\:fill-white){fill:#fff}:is(.dark .dark\:text-blue-200){--tw-text-opacity: 1;color:rgb(195 221 253 / var(--tw-text-opacity))}:is(.dark .dark\:text-blue-500){--tw-text-opacity: 1;color:rgb(63 131 248 / var(--tw-text-opacity))}:is(.dark .dark\:text-blue-800){--tw-text-opacity: 1;color:rgb(30 66 159 / var(--tw-text-opacity))}:is(.dark .dark\:text-dark-text-panel){color:var(--color-dark-text-panel)}:is(.dark .dark\:text-gray-200){--tw-text-opacity: 1;color:rgb(229 231 235 / var(--tw-text-opacity))}:is(.dark .dark\:text-gray-300){--tw-text-opacity: 1;color:rgb(209 213 219 / var(--tw-text-opacity))}:is(.dark .dark\:text-gray-400){--tw-text-opacity: 1;color:rgb(156 163 175 / var(--tw-text-opacity))}:is(.dark .dark\:text-gray-500){--tw-text-opacity: 1;color:rgb(107 114 128 / var(--tw-text-opacity))}:is(.dark .dark\:text-gray-600){--tw-text-opacity: 1;color:rgb(75 85 99 / var(--tw-text-opacity))}:is(.dark .dark\:text-gray-800){--tw-text-opacity: 1;color:rgb(31 41 55 / var(--tw-text-opacity))}:is(.dark .dark\:text-green-100){--tw-text-opacity: 1;color:rgb(222 247 236 / var(--tw-text-opacity))}:is(.dark .dark\:text-green-200){--tw-text-opacity: 1;color:rgb(188 240 218 / var(--tw-text-opacity))}:is(.dark .dark\:text-green-500){--tw-text-opacity: 1;color:rgb(14 159 110 / var(--tw-text-opacity))}:is(.dark .dark\:text-green-800){--tw-text-opacity: 1;color:rgb(3 84 63 / var(--tw-text-opacity))}:is(.dark .dark\:text-green-900){--tw-text-opacity: 1;color:rgb(1 71 55 / var(--tw-text-opacity))}:is(.dark .dark\:text-indigo-500){--tw-text-opacity: 1;color:rgb(104 117 245 / var(--tw-text-opacity))}:is(.dark .dark\:text-indigo-900){--tw-text-opacity: 1;color:rgb(54 47 120 / var(--tw-text-opacity))}:is(.dark .dark\:text-light-text-panel){color:var(--color-light-text-panel)}:is(.dark .dark\:text-orange-200){--tw-text-opacity: 1;color:rgb(252 217 189 / var(--tw-text-opacity))}:is(.dark .dark\:text-pink-400){--tw-text-opacity: 1;color:rgb(241 126 184 / var(--tw-text-opacity))}:is(.dark .dark\:text-pink-500){--tw-text-opacity: 1;color:rgb(231 70 148 / var(--tw-text-opacity))}:is(.dark .dark\:text-pink-900){--tw-text-opacity: 1;color:rgb(117 26 61 / var(--tw-text-opacity))}:is(.dark .dark\:text-primary){color:var(--color-primary)}:is(.dark .dark\:text-purple-400){--tw-text-opacity: 1;color:rgb(172 148 250 / var(--tw-text-opacity))}:is(.dark .dark\:text-purple-500){--tw-text-opacity: 1;color:rgb(144 97 249 / var(--tw-text-opacity))}:is(.dark .dark\:text-purple-900){--tw-text-opacity: 1;color:rgb(74 29 150 / var(--tw-text-opacity))}:is(.dark .dark\:text-red-200){--tw-text-opacity: 1;color:rgb(251 213 213 / var(--tw-text-opacity))}:is(.dark .dark\:text-red-500){--tw-text-opacity: 1;color:rgb(240 82 82 / var(--tw-text-opacity))}:is(.dark .dark\:text-red-800){--tw-text-opacity: 1;color:rgb(155 28 28 / var(--tw-text-opacity))}:is(.dark .dark\:text-red-900){--tw-text-opacity: 1;color:rgb(119 29 29 / var(--tw-text-opacity))}:is(.dark .dark\:text-slate-50){--tw-text-opacity: 1;color:rgb(248 250 252 / var(--tw-text-opacity))}:is(.dark .dark\:text-white){--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity))}:is(.dark .dark\:text-yellow-300){--tw-text-opacity: 1;color:rgb(250 202 21 / var(--tw-text-opacity))}:is(.dark .dark\:text-yellow-500){--tw-text-opacity: 1;color:rgb(194 120 3 / var(--tw-text-opacity))}:is(.dark .dark\:text-yellow-800){--tw-text-opacity: 1;color:rgb(114 59 19 / var(--tw-text-opacity))}:is(.dark .dark\:text-yellow-900){--tw-text-opacity: 1;color:rgb(99 49 18 / var(--tw-text-opacity))}:is(.dark .dark\:placeholder-gray-400)::-moz-placeholder{--tw-placeholder-opacity: 1;color:rgb(156 163 175 / var(--tw-placeholder-opacity))}:is(.dark .dark\:placeholder-gray-400)::placeholder{--tw-placeholder-opacity: 1;color:rgb(156 163 175 / var(--tw-placeholder-opacity))}:is(.dark .dark\:shadow-lg){--tw-shadow: 0 10px 15px -3px rgb(0 0 0 / .1), 0 4px 6px -4px rgb(0 0 0 / .1);--tw-shadow-colored: 0 10px 15px -3px var(--tw-shadow-color), 0 4px 6px -4px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}:is(.dark .dark\:shadow-blue-800\/80){--tw-shadow-color: rgb(30 66 159 / .8);--tw-shadow: var(--tw-shadow-colored)}:is(.dark .dark\:shadow-cyan-800\/80){--tw-shadow-color: rgb(21 94 117 / .8);--tw-shadow: var(--tw-shadow-colored)}:is(.dark .dark\:shadow-green-800\/80){--tw-shadow-color: rgb(3 84 63 / .8);--tw-shadow: var(--tw-shadow-colored)}:is(.dark .dark\:shadow-lime-800\/80){--tw-shadow-color: rgb(63 98 18 / .8);--tw-shadow: var(--tw-shadow-colored)}:is(.dark .dark\:shadow-pink-800\/80){--tw-shadow-color: rgb(153 21 75 / .8);--tw-shadow: var(--tw-shadow-colored)}:is(.dark .dark\:shadow-purple-800\/80){--tw-shadow-color: rgb(85 33 181 / .8);--tw-shadow: var(--tw-shadow-colored)}:is(.dark .dark\:shadow-red-800\/80){--tw-shadow-color: rgb(155 28 28 / .8);--tw-shadow: var(--tw-shadow-colored)}:is(.dark .dark\:shadow-teal-800\/80){--tw-shadow-color: rgb(5 80 92 / .8);--tw-shadow: var(--tw-shadow-colored)}:is(.dark .dark\:ring-gray-500){--tw-ring-opacity: 1;--tw-ring-color: rgb(107 114 128 / var(--tw-ring-opacity))}:is(.dark .dark\:ring-offset-gray-700){--tw-ring-offset-color: #374151}:is(.dark .dark\:ring-offset-gray-800){--tw-ring-offset-color: #1F2937}:is(.dark .dark\:scrollbar-track-bg-dark){--scrollbar-track: var(--color-bg-dark) !important}:is(.dark .dark\:scrollbar-track-bg-dark-tone){--scrollbar-track: var(--color-bg-dark-tone) !important}:is(.dark .dark\:scrollbar-thumb-bg-dark-tone){--scrollbar-thumb: var(--color-bg-dark-tone) !important}:is(.dark .dark\:scrollbar-thumb-bg-dark-tone-panel){--scrollbar-thumb: var(--color-bg-dark-tone-panel) !important}:is(.dark .odd\:dark\:bg-bg-dark-tone):nth-child(odd){background-color:var(--color-bg-dark-tone)}:is(.dark .dark\:even\:bg-bg-dark-discussion-odd:nth-child(2n)){background-color:var(--color-bg-dark-discussion-odd)}:is(.dark .dark\:even\:bg-bg-dark-tone-panel:nth-child(2n)){background-color:var(--color-bg-dark-tone-panel)}:is(.dark .group:hover .dark\:group-hover\:bg-gray-800\/60){background-color:#1f293799}:is(.dark .group:hover .dark\:group-hover\:text-white){--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity))}:is(.dark .group:focus .dark\:group-focus\:ring-gray-800\/70){--tw-ring-color: rgb(31 41 55 / .7)}:is(.dark .dark\:hover\:border-gray-600:hover){--tw-border-opacity: 1;border-color:rgb(75 85 99 / var(--tw-border-opacity))}:is(.dark .dark\:hover\:border-primary:hover){border-color:var(--color-primary)}:is(.dark .dark\:hover\:bg-bg-dark-tone:hover){background-color:var(--color-bg-dark-tone)}:is(.dark .dark\:hover\:bg-blue-300:hover){--tw-bg-opacity: 1;background-color:rgb(164 202 254 / var(--tw-bg-opacity))}:is(.dark .dark\:hover\:bg-blue-600:hover){--tw-bg-opacity: 1;background-color:rgb(28 100 242 / var(--tw-bg-opacity))}:is(.dark .dark\:hover\:bg-blue-700:hover){--tw-bg-opacity: 1;background-color:rgb(26 86 219 / var(--tw-bg-opacity))}:is(.dark .dark\:hover\:bg-gray-600:hover){--tw-bg-opacity: 1;background-color:rgb(75 85 99 / var(--tw-bg-opacity))}:is(.dark .dark\:hover\:bg-gray-700:hover){--tw-bg-opacity: 1;background-color:rgb(55 65 81 / var(--tw-bg-opacity))}:is(.dark .dark\:hover\:bg-gray-800:hover){--tw-bg-opacity: 1;background-color:rgb(31 41 55 / var(--tw-bg-opacity))}:is(.dark .dark\:hover\:bg-green-300:hover){--tw-bg-opacity: 1;background-color:rgb(132 225 188 / var(--tw-bg-opacity))}:is(.dark .dark\:hover\:bg-green-600:hover){--tw-bg-opacity: 1;background-color:rgb(5 122 85 / var(--tw-bg-opacity))}:is(.dark .dark\:hover\:bg-green-700:hover){--tw-bg-opacity: 1;background-color:rgb(4 108 78 / var(--tw-bg-opacity))}:is(.dark .dark\:hover\:bg-pink-500:hover){--tw-bg-opacity: 1;background-color:rgb(231 70 148 / var(--tw-bg-opacity))}:is(.dark .dark\:hover\:bg-pink-700:hover){--tw-bg-opacity: 1;background-color:rgb(191 18 93 / var(--tw-bg-opacity))}:is(.dark .dark\:hover\:bg-primary:hover){background-color:var(--color-primary)}:is(.dark .dark\:hover\:bg-purple-500:hover){--tw-bg-opacity: 1;background-color:rgb(144 97 249 / var(--tw-bg-opacity))}:is(.dark .dark\:hover\:bg-purple-700:hover){--tw-bg-opacity: 1;background-color:rgb(108 43 217 / var(--tw-bg-opacity))}:is(.dark .dark\:hover\:bg-red-300:hover){--tw-bg-opacity: 1;background-color:rgb(248 180 180 / var(--tw-bg-opacity))}:is(.dark .dark\:hover\:bg-red-600:hover){--tw-bg-opacity: 1;background-color:rgb(224 36 36 / var(--tw-bg-opacity))}:is(.dark .dark\:hover\:bg-red-700:hover){--tw-bg-opacity: 1;background-color:rgb(200 30 30 / var(--tw-bg-opacity))}:is(.dark .dark\:hover\:bg-secondary:hover){background-color:var(--color-secondary)}:is(.dark .dark\:hover\:bg-yellow-300:hover){--tw-bg-opacity: 1;background-color:rgb(250 202 21 / var(--tw-bg-opacity))}:is(.dark .dark\:hover\:bg-yellow-400:hover){--tw-bg-opacity: 1;background-color:rgb(227 160 8 / var(--tw-bg-opacity))}:is(.dark .hover\:dark\:bg-bg-dark-tone):hover{background-color:var(--color-bg-dark-tone)}:is(.dark .hover\:dark\:bg-bg-dark-tone-panel):hover{background-color:var(--color-bg-dark-tone-panel)}:is(.dark .dark\:hover\:fill-primary:hover){fill:var(--color-primary)}:is(.dark .dark\:hover\:text-blue-500:hover){--tw-text-opacity: 1;color:rgb(63 131 248 / var(--tw-text-opacity))}:is(.dark .dark\:hover\:text-gray-300:hover){--tw-text-opacity: 1;color:rgb(209 213 219 / var(--tw-text-opacity))}:is(.dark .dark\:hover\:text-gray-900:hover){--tw-text-opacity: 1;color:rgb(17 24 39 / var(--tw-text-opacity))}:is(.dark .dark\:hover\:text-white:hover){--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity))}:is(.dark .dark\:hover\:scrollbar-thumb-primary){--scrollbar-thumb-hover: var(--color-primary) !important}:is(.dark .dark\:focus\:border-blue-500:focus){--tw-border-opacity: 1;border-color:rgb(63 131 248 / var(--tw-border-opacity))}:is(.dark .dark\:focus\:border-secondary:focus){border-color:var(--color-secondary)}:is(.dark .dark\:focus\:text-white:focus){--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity))}:is(.dark .dark\:focus\:ring-blue-500:focus){--tw-ring-opacity: 1;--tw-ring-color: rgb(63 131 248 / var(--tw-ring-opacity))}:is(.dark .dark\:focus\:ring-blue-600:focus){--tw-ring-opacity: 1;--tw-ring-color: rgb(28 100 242 / var(--tw-ring-opacity))}:is(.dark .dark\:focus\:ring-blue-800:focus){--tw-ring-opacity: 1;--tw-ring-color: rgb(30 66 159 / var(--tw-ring-opacity))}:is(.dark .dark\:focus\:ring-cyan-800:focus){--tw-ring-opacity: 1;--tw-ring-color: rgb(21 94 117 / var(--tw-ring-opacity))}:is(.dark .dark\:focus\:ring-gray-500:focus){--tw-ring-opacity: 1;--tw-ring-color: rgb(107 114 128 / var(--tw-ring-opacity))}:is(.dark .dark\:focus\:ring-gray-600:focus){--tw-ring-opacity: 1;--tw-ring-color: rgb(75 85 99 / var(--tw-ring-opacity))}:is(.dark .dark\:focus\:ring-gray-700:focus){--tw-ring-opacity: 1;--tw-ring-color: rgb(55 65 81 / var(--tw-ring-opacity))}:is(.dark .dark\:focus\:ring-gray-800:focus){--tw-ring-opacity: 1;--tw-ring-color: rgb(31 41 55 / var(--tw-ring-opacity))}:is(.dark .dark\:focus\:ring-green-800:focus){--tw-ring-opacity: 1;--tw-ring-color: rgb(3 84 63 / var(--tw-ring-opacity))}:is(.dark .dark\:focus\:ring-lime-800:focus){--tw-ring-opacity: 1;--tw-ring-color: rgb(63 98 18 / var(--tw-ring-opacity))}:is(.dark .dark\:focus\:ring-pink-800:focus){--tw-ring-opacity: 1;--tw-ring-color: rgb(153 21 75 / var(--tw-ring-opacity))}:is(.dark .dark\:focus\:ring-pink-900:focus){--tw-ring-opacity: 1;--tw-ring-color: rgb(117 26 61 / var(--tw-ring-opacity))}:is(.dark .dark\:focus\:ring-purple-800:focus){--tw-ring-opacity: 1;--tw-ring-color: rgb(85 33 181 / var(--tw-ring-opacity))}:is(.dark .dark\:focus\:ring-purple-900:focus){--tw-ring-opacity: 1;--tw-ring-color: rgb(74 29 150 / var(--tw-ring-opacity))}:is(.dark .dark\:focus\:ring-red-400:focus){--tw-ring-opacity: 1;--tw-ring-color: rgb(249 128 128 / var(--tw-ring-opacity))}:is(.dark .dark\:focus\:ring-red-800:focus){--tw-ring-opacity: 1;--tw-ring-color: rgb(155 28 28 / var(--tw-ring-opacity))}:is(.dark .dark\:focus\:ring-red-900:focus){--tw-ring-opacity: 1;--tw-ring-color: rgb(119 29 29 / var(--tw-ring-opacity))}:is(.dark .dark\:focus\:ring-secondary:focus){--tw-ring-color: var(--color-secondary)}:is(.dark .dark\:focus\:ring-teal-700:focus){--tw-ring-opacity: 1;--tw-ring-color: rgb(3 102 114 / var(--tw-ring-opacity))}:is(.dark .dark\:focus\:ring-teal-800:focus){--tw-ring-opacity: 1;--tw-ring-color: rgb(5 80 92 / var(--tw-ring-opacity))}:is(.dark .dark\:focus\:ring-yellow-900:focus){--tw-ring-opacity: 1;--tw-ring-color: rgb(99 49 18 / var(--tw-ring-opacity))}:is(.dark .dark\:focus\:ring-offset-gray-700:focus){--tw-ring-offset-color: #374151}@media (min-width: 640px){.sm\:mt-0{margin-top:0}.sm\:h-10{height:2.5rem}.sm\:h-6{height:1.5rem}.sm\:h-64{height:16rem}.sm\:w-1\/4{width:25%}.sm\:w-10{width:2.5rem}.sm\:w-6{width:1.5rem}.sm\:w-auto{width:auto}.sm\:flex-row{flex-direction:row}.sm\:rounded-lg{border-radius:.5rem}.sm\:px-4{padding-left:1rem;padding-right:1rem}.sm\:text-center{text-align:center}.sm\:text-xs{font-size:.75rem;line-height:1rem}}@media (min-width: 768px){.md\:inset-0{top:0;right:0;bottom:0;left:0}.md\:order-2{order:2}.md\:my-2{margin-top:.5rem;margin-bottom:.5rem}.md\:mr-6{margin-right:1.5rem}.md\:mt-0{margin-top:0}.md\:block{display:block}.md\:flex{display:flex}.md\:hidden{display:none}.md\:h-auto{height:auto}.md\:h-full{height:100%}.md\:w-1\/4{width:25%}.md\:w-48{width:12rem}.md\:w-auto{width:auto}.md\:max-w-xl{max-width:36rem}.md\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.md\:flex-row{flex-direction:row}.md\:items-center{align-items:center}.md\:justify-between{justify-content:space-between}.md\:space-x-3>:not([hidden])~:not([hidden]){--tw-space-x-reverse: 0;margin-right:calc(.75rem * var(--tw-space-x-reverse));margin-left:calc(.75rem * calc(1 - var(--tw-space-x-reverse)))}.md\:space-x-8>:not([hidden])~:not([hidden]){--tw-space-x-reverse: 0;margin-right:calc(2rem * var(--tw-space-x-reverse));margin-left:calc(2rem * calc(1 - var(--tw-space-x-reverse)))}.md\:rounded-none{border-radius:0}.md\:rounded-l-lg{border-top-left-radius:.5rem;border-bottom-left-radius:.5rem}.md\:border-0{border-width:0px}.md\:bg-transparent{background-color:transparent}.md\:p-0{padding:0}.md\:p-6{padding:1.5rem}.md\:text-sm{font-size:.875rem;line-height:1.25rem}.md\:font-medium{font-weight:500}.md\:text-blue-700{--tw-text-opacity: 1;color:rgb(26 86 219 / var(--tw-text-opacity))}.md\:hover\:bg-transparent:hover{background-color:transparent}.md\:hover\:text-blue-700:hover{--tw-text-opacity: 1;color:rgb(26 86 219 / var(--tw-text-opacity))}:is(.dark .md\:dark\:bg-gray-900){--tw-bg-opacity: 1;background-color:rgb(17 24 39 / var(--tw-bg-opacity))}:is(.dark .md\:dark\:hover\:bg-transparent:hover){background-color:transparent}:is(.dark .md\:dark\:hover\:text-white:hover){--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity))}}@media (min-width: 1024px){.lg\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.lg\:flex-row{flex-direction:row}}@media (min-width: 1280px){.xl\:h-80{height:20rem}.xl\:w-1\/6{width:16.666667%}}@media (min-width: 1536px){.\32xl\:h-96{height:24rem}} +*/.hljs-meta,.hljs-comment{color:#565f89}.hljs-tag,.hljs-doctag,.hljs-selector-id,.hljs-selector-class,.hljs-regexp,.hljs-template-tag,.hljs-selector-pseudo,.hljs-selector-attr,.hljs-variable.language_,.hljs-deletion{color:#f7768e}.hljs-variable,.hljs-template-variable,.hljs-number,.hljs-literal,.hljs-type,.hljs-params,.hljs-link{color:#ff9e64}.hljs-built_in,.hljs-attribute{color:#e0af68}.hljs-selector-tag{color:#2ac3de}.hljs-keyword,.hljs-title.function_,.hljs-title,.hljs-title.class_,.hljs-title.class_.inherited__,.hljs-subst,.hljs-property{color:#7dcfff}.hljs-selector-tag{color:#73daca}.hljs-quote,.hljs-string,.hljs-symbol,.hljs-bullet,.hljs-addition{color:#9ece6a}.hljs-code,.hljs-formula,.hljs-section{color:#7aa2f7}.hljs-name,.hljs-keyword,.hljs-operator,.hljs-char.escape_,.hljs-attr{color:#bb9af7}.hljs-punctuation{color:#c0caf5}.hljs{background:#1a1b26;color:#9aa5ce}.hljs-emphasis{font-style:italic}.hljs-strong{font-weight:700}.code-container{display:flex;margin:0}.line-numbers{flex-shrink:0;padding-right:5px;color:#999;-webkit-user-select:none;-moz-user-select:none;user-select:none;white-space:nowrap;margin:0}.code-content{flex-grow:1;margin:0;outline:none}.progress-bar-container{background-color:#f0f0f0;border-radius:4px;height:8px;overflow:hidden}.progress-bar{background-color:#3498db;height:100%;transition:width .3s ease}.popup-container[data-v-d504dfc9]{background-color:#fff;color:#333;border-radius:8px;box-shadow:0 4px 6px #0000001a;padding:24px;width:100%;height:100%;position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center}.close-button[data-v-d504dfc9]{position:absolute;top:16px;right:16px;background-color:#3490dc;color:#fff;font-weight:700;padding:8px 16px;border-radius:8px;cursor:pointer;transition:background-color .3s ease}.close-button[data-v-d504dfc9]:hover{background-color:#2779bd}.iframe-content[data-v-d504dfc9]{width:100%;height:80%;border:none;margin-bottom:16px}.checkbox-container[data-v-d504dfc9]{display:flex;align-items:center;justify-content:center}.styled-checkbox[data-v-d504dfc9]{width:24px;height:24px;accent-color:#3490dc;cursor:pointer}.checkbox-label[data-v-d504dfc9]{margin-left:8px;font-size:16px;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none}.fade-enter-active[data-v-d504dfc9],.fade-leave-active[data-v-d504dfc9]{transition:opacity .5s}.fade-enter[data-v-d504dfc9],.fade-leave-to[data-v-d504dfc9]{opacity:0}.container{margin:0;padding:0}.link-item{height:25px;margin-top:5px;padding:0 20px;margin-bottom:-5px;display:flex;align-items:center;justify-content:center;border:1px solid transparent;border-radius:5px 5px 0 0;font-weight:700;transition:duration-300 ease-in-out transform}.link-item-dark{padding:0 20px;color:#f0f8ff;margin-bottom:-5px;display:flex;align-items:center;justify-content:center;border:1px solid transparent;border-radius:5px 5px 0 0;font-weight:700;transition:duration-300 ease-in-out transform}.nav-ul{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;height:100%}.nav-li{cursor:pointer;display:flex;align-items:center;padding:5px}.fade-in{animation:fadeInAnimation .5s}@keyframes fadeInAnimation{0%{opacity:0}to{opacity:1}}.bounce-in{animation:bounceInAnimation .5s}.bounce-out{animation:bounceOutAnimation .5s}@keyframes bounceInAnimation{0%{transform:scale(1)}50%{transform:scale(1.2)}to{transform:scale(1)}}.shadow-no-bottom{box-shadow:0 -4px 6px -1px #0000001a,0 2px 4px -1px #0000000f}.dot{width:10px;height:10px;border-radius:50%}.dot-green{background-color:green}.dot-red{background-color:red}.hovered{transition:transform .3s cubic-bezier(.175,.885,.32,1.275);transform:scale(1.1)}.active{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%)}.overlay{position:fixed;top:0;left:0;width:100%;height:100%;background-color:#0009;pointer-events:all}select{width:200px}body{background-color:#fafafa;font-family:sans-serif}.container{margin:4px auto;width:800px}.settings{position:fixed;top:0;right:0;width:250px;background-color:#fff;z-index:1000;display:none}.settings-button{cursor:pointer;padding:10px;border:1px solid #ddd;border-radius:5px;color:#333;font-size:14px}.settings-button:hover{background-color:#eee}.settings-button:active{background-color:#ddd}.slider-container{margin-top:20px}.slider-value{display:inline-block;margin-left:10px;color:#6b7280;font-size:14px}.small-button{padding:.5rem .75rem;font-size:.875rem}.active-tab{font-weight:700}.menu-container{position:relative;display:inline-block}.menu-button{background-color:#007bff;color:#fff;padding:10px;border:none;cursor:pointer;border-radius:4px}.menu-list{position:absolute;background-color:#fff;color:#000;border:1px solid #ccc;border-radius:4px;box-shadow:0 2px 4px #0003;padding:10px;max-width:500px;z-index:1000}.slide-enter-active,.slide-leave-active{transition:transform .2s}.slide-enter-to,.slide-leave-from{transform:translateY(-10px)}.menu-ul{list-style:none;padding:0;margin:0}.menu-li{cursor:pointer;display:flex;align-items:center;padding:5px}.menu-icon{width:20px;height:20px;margin-right:8px}.menu-command{min-width:200px;text-align:left}.selected-choice{background-color:#bde4ff}.heartbeat-text[data-v-31eb0911]{font-size:24px;animation:pulsate-31eb0911 1.5s infinite}@keyframes pulsate-31eb0911{0%{transform:scale(1);opacity:1}50%{transform:scale(1.1);opacity:.7}to{transform:scale(1);opacity:1}}.list-move[data-v-31eb0911],.list-enter-active[data-v-31eb0911],.list-leave-active[data-v-31eb0911]{transition:all .5s ease}.list-enter-from[data-v-31eb0911]{transform:translatey(-30px)}.list-leave-to[data-v-31eb0911]{opacity:0;transform:translatey(30px)}.list-leave-active[data-v-31eb0911]{position:absolute}.bounce-enter-active[data-v-31eb0911]{animation:bounce-in-31eb0911 .5s}.bounce-leave-active[data-v-31eb0911]{animation:bounce-in-31eb0911 .5s reverse}@keyframes bounce-in-31eb0911{0%{transform:scale(0)}50%{transform:scale(1.25)}to{transform:scale(1)}}.bg-primary-light[data-v-31eb0911]{background-color:#0ff}.hover[data-v-31eb0911]:bg-primary-light:hover{background-color:#7fffd4}.font-bold[data-v-31eb0911]{font-weight:700}.collapsible-section{cursor:pointer;margin-bottom:10px;font-weight:700}.collapsible-section:hover{color:#1a202c}.collapsible-section .toggle-icon{margin-right:.25rem}.collapsible-section .toggle-icon i{color:#4a5568}.collapsible-section .toggle-icon i:hover{color:#1a202c}.json-viewer{max-height:300px;max-width:700px;flex:auto;overflow-y:auto;padding:10px;background-color:#f1f1f1;border:1px solid #ccc;border-radius:4px}.json-viewer .toggle-icon{cursor:pointer;margin-right:.25rem}.json-viewer .toggle-icon i{color:#4a5568}.json-viewer .toggle-icon i:hover{color:#1a202c}.expand-button{margin-left:10px;margin-right:10px;background:none;border:none;padding:0;cursor:pointer}.htmljs{background:none}.bounce-enter-active[data-v-de7bc8fe]{animation:bounce-in-de7bc8fe .5s}.bounce-leave-active[data-v-de7bc8fe]{animation:bounce-in-de7bc8fe .5s reverse}@keyframes bounce-in-de7bc8fe{0%{transform:scale(0)}50%{transform:scale(1.25)}to{transform:scale(1)}}.custom-scrollbar[data-v-1a32c141]::-webkit-scrollbar{width:8px}.custom-scrollbar[data-v-1a32c141]::-webkit-scrollbar-track{background-color:#f1f1f1}.custom-scrollbar[data-v-1a32c141]::-webkit-scrollbar-thumb{background-color:#888;border-radius:4px}.custom-scrollbar[data-v-1a32c141]::-webkit-scrollbar-thumb:hover{background-color:#555}.menu[data-v-1a32c141]{display:flex;flex-direction:column;align-items:center}.commands-menu-items-wrapper[data-v-1a32c141]{position:relative;display:flex;flex-direction:column;align-items:center}.commands-menu-items-wrapper>#commands-menu-items[data-v-1a32c141]{top:calc(-100% - 2rem)}.list-move[data-v-6b5491a5],.list-enter-active[data-v-6b5491a5],.list-leave-active[data-v-6b5491a5]{transition:all .5s ease}.list-enter-from[data-v-6b5491a5]{transform:translatey(-30px)}.list-leave-to[data-v-6b5491a5]{opacity:0;transform:translatey(30px)}.list-leave-active[data-v-6b5491a5]{position:absolute}@keyframes custom-pulse-a549407f{0%,to{box-shadow:0 0 #3b82f680}50%{box-shadow:0 0 0 15px #3b82f600}}.animate-pulse[data-v-a549407f]{animation:custom-pulse-a549407f 2s infinite}.slide-right-enter-active[data-v-a549407f],.slide-right-leave-active[data-v-a549407f]{transition:transform .3s ease}.slide-right-enter[data-v-a549407f],.slide-right-leave-to[data-v-a549407f]{transform:translate(-100%)}.slide-left-enter-active[data-v-a549407f],.slide-left-leave-active[data-v-a549407f]{transition:transform .3s ease}.slide-left-enter[data-v-a549407f],.slide-left-leave-to[data-v-a549407f]{transform:translate(100%)}.fade-and-fly-enter-active[data-v-a549407f]{animation:fade-and-fly-enter-a549407f .5s ease}.fade-and-fly-leave-active[data-v-a549407f]{animation:fade-and-fly-leave-a549407f .5s ease}@keyframes fade-and-fly-enter-a549407f{0%{opacity:0;transform:translateY(20px) scale(.8)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes fade-and-fly-leave-a549407f{0%{opacity:1;transform:translateY(0) scale(1)}to{opacity:0;transform:translateY(-20px) scale(1.2)}}.list-move[data-v-a549407f],.list-enter-active[data-v-a549407f],.list-leave-active[data-v-a549407f]{transition:all .5s ease}.list-enter-from[data-v-a549407f]{transform:translatey(-30px)}.list-leave-to[data-v-a549407f]{opacity:0;transform:translatey(30px)}.list-leave-active[data-v-a549407f]{position:absolute}.container{display:flex;justify-content:flex-start;align-items:flex-start;flex-wrap:wrap}.floating-frame{margin:15px;float:left;height:auto;border:1px solid #000;border-radius:4px;overflow:hidden;z-index:5000;position:fixed;cursor:move;bottom:0;right:0}.handle{width:100%;height:20px;background:#ccc;cursor:move;text-align:center}.floating-frame img{width:100%;height:auto}.controls{margin-top:10px}#webglContainer{top:0;left:0}.floating-frame2{margin:15px;width:800px;height:auto;border:1px solid #000;border-radius:4px;overflow:hidden;min-height:200px;z-index:5000}:root{--baklava-control-color-primary: #e28b46;--baklava-control-color-error: #d00000;--baklava-control-color-background: #2c3748;--baklava-control-color-foreground: white;--baklava-control-color-hover: #455670;--baklava-control-color-active: #556986;--baklava-control-color-disabled-foreground: #666c75;--baklava-control-border-radius: 3px;--baklava-sidebar-color-background: #1b202c;--baklava-sidebar-color-foreground: white;--baklava-node-color-background: #1b202c;--baklava-node-color-foreground: white;--baklava-node-color-hover: #e28c4677;--baklava-node-color-selected: var(--baklava-control-color-primary);--baklava-node-color-resize-handle: var(--baklava-control-color-background);--baklava-node-title-color-background: #151a24;--baklava-node-title-color-foreground: white;--baklava-group-node-title-color-background: #215636;--baklava-group-node-title-color-foreground: white;--baklava-node-interface-port-tooltip-color-foreground: var(--baklava-control-color-primary);--baklava-node-interface-port-tooltip-color-background: var(--baklava-editor-background-pattern-black);--baklava-node-border-radius: 6px;--baklava-color-connection-default: #737f96;--baklava-color-connection-allowed: #48bc79;--baklava-color-connection-forbidden: #bc4848;--baklava-editor-background-pattern-default: #202b3c;--baklava-editor-background-pattern-line: #263140;--baklava-editor-background-pattern-black: #263140;--baklava-context-menu-background: #1b202c;--baklava-context-menu-shadow: 0 0 8px rgba(0, 0, 0, .65);--baklava-toolbar-background: #1b202caa;--baklava-toolbar-foreground: white;--baklava-node-palette-background: #1b202caa;--baklava-node-palette-foreground: white;--baklava-visual-transition: .1s linear}.baklava-button{background-color:var(--baklava-control-color-background);color:var(--baklava-control-color-foreground);transition:background-color var(--baklava-visual-transition);border:none;padding:.45em .35em;border-radius:var(--baklava-control-border-radius);font-size:inherit;cursor:pointer;overflow-x:hidden}.baklava-button:hover{background-color:var(--baklava-control-color-hover)}.baklava-button:active{background-color:var(--baklava-control-color-primary)}.baklava-button.--block{width:100%}.baklava-checkbox{display:flex;padding:.35em 0;cursor:pointer;overflow-x:hidden;align-items:center}.baklava-checkbox .__checkmark-container{display:flex;background-color:var(--baklava-control-color-background);border-radius:var(--baklava-control-border-radius);transition:background-color var(--baklava-visual-transition);width:18px;height:18px}.baklava-checkbox:hover .__checkmark-container{background-color:var(--baklava-control-color-hover)}.baklava-checkbox:active .__checkmark-container{background-color:var(--baklava-control-color-active)}.baklava-checkbox .__checkmark{stroke-dasharray:15;stroke-dashoffset:15;stroke:var(--baklava-control-color-foreground);stroke-width:2px;fill:none;transition:stroke-dashoffset var(--baklava-visual-transition)}.baklava-checkbox.--checked .__checkmark{stroke-dashoffset:0}.baklava-checkbox.--checked .__checkmark-container{background-color:var(--baklava-control-color-primary)}.baklava-checkbox .__label{margin-left:.5rem}.baklava-context-menu{color:var(--baklava-control-color-foreground);position:absolute;display:inline-block;z-index:100;background-color:var(--baklava-context-menu-background);box-shadow:var(--baklava-context-menu-shadow);border-radius:0 0 var(--baklava-control-border-radius) var(--baklava-control-border-radius);min-width:6rem;width:-moz-max-content;width:max-content}.baklava-context-menu>.item{display:flex;align-items:center;padding:.35em 1em;transition:background .05s linear;position:relative}.baklava-context-menu>.item>.__label{flex:1 1 auto}.baklava-context-menu>.item>.__submenu-icon{margin-left:.75rem}.baklava-context-menu>.item.--disabled{color:var(--baklava-control-color-hover)}.baklava-context-menu>.item:not(.--header):not(.--active):not(.--disabled):hover{background:var(--baklava-control-color-primary)}.baklava-context-menu>.item.--active{background:var(--baklava-control-color-primary)}.baklava-context-menu.--nested{left:100%;top:0}.baklava-context-menu.--flipped-x.--nested{left:unset;right:100%}.baklava-context-menu.--flipped-y.--nested{top:unset;bottom:0}.baklava-context-menu>.divider{margin:.35em 0;height:1px;background-color:var(--baklava-control-color-hover)}.baklava-icon{display:block;height:100%}.baklava-icon.--clickable{cursor:pointer;transition:color var(--baklava-visual-transition)}.baklava-icon.--clickable:hover{color:var(--baklava-control-color-primary)}.baklava-input{background-color:var(--baklava-control-color-background);color:var(--baklava-control-color-foreground);caret-color:var(--baklava-control-color-primary);border:none;border-radius:var(--baklava-control-border-radius);padding:.45em .75em;width:100%;transition:background-color var(--baklava-visual-transition);font-size:inherit;font:inherit}.baklava-input:hover{background-color:var(--baklava-control-color-hover)}.baklava-input:active{background-color:var(--baklava-control-color-active)}.baklava-input:focus-visible{outline:1px solid var(--baklava-control-color-primary)}.baklava-input[type=number]::-webkit-inner-spin-button,.baklava-input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.baklava-input.--invalid{box-shadow:0 0 2px 2px var(--baklava-control-color-error)}.baklava-num-input{background:var(--baklava-control-color-background);color:var(--baklava-control-color-foreground);border-radius:var(--baklava-control-border-radius);width:100%;display:grid;grid-template-columns:20px 1fr 20px}.baklava-num-input>.__button{display:flex;flex:0 0 auto;width:20px;justify-content:center;align-items:center;transition:background var(--baklava-visual-transition);cursor:pointer}.baklava-num-input>.__button:hover{background-color:var(--baklava-control-color-hover)}.baklava-num-input>.__button:active{background-color:var(--baklava-control-color-active)}.baklava-num-input>.__button.--dec{grid-area:1/1/span 1/span 1}.baklava-num-input>.__button.--dec>svg{transform:rotate(90deg)}.baklava-num-input>.__button.--inc{grid-area:1/3/span 1/span 1}.baklava-num-input>.__button.--inc>svg{transform:rotate(-90deg)}.baklava-num-input>.__button path{stroke:var(--baklava-control-color-foreground);fill:var(--baklava-control-color-foreground)}.baklava-num-input>.__content{grid-area:1/2/span 1/span 1;display:inline-flex;cursor:pointer;max-width:100%;min-width:0;align-items:center;transition:background-color var(--baklava-visual-transition)}.baklava-num-input>.__content:hover{background-color:var(--baklava-control-color-hover)}.baklava-num-input>.__content:active{background-color:var(--baklava-control-color-active)}.baklava-num-input>.__content>.__label,.baklava-num-input>.__content>.__value{margin:.35em 0;padding:0 .5em}.baklava-num-input>.__content>.__label{flex:1;min-width:0;overflow:hidden}.baklava-num-input>.__content>.__value{text-align:right}.baklava-num-input>.__content>input{background-color:var(--baklava-control-color-background);color:var(--baklava-control-color-foreground);caret-color:var(--baklava-control-color-primary);padding:.35em;width:100%}.baklava-select{width:100%;position:relative;color:var(--baklava-control-color-foreground)}.baklava-select.--open>.__selected{border-bottom-left-radius:0;border-bottom-right-radius:0}.baklava-select.--open>.__selected>.__icon{transform:rotate(180deg)}.baklava-select>.__selected{background-color:var(--baklava-control-color-background);padding:.35em .75em;border-radius:var(--baklava-control-border-radius);transition:background var(--baklava-visual-transition);min-height:1.7em;display:flex;align-items:center;cursor:pointer}.baklava-select>.__selected:hover{background:var(--baklava-control-color-hover)}.baklava-select>.__selected:active{background:var(--baklava-control-color-active)}.baklava-select>.__selected>.__text{flex:1 0 auto;flex-basis:0;text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.baklava-select>.__selected>.__icon{flex:0 0 auto;display:flex;justify-content:center;align-items:center;transition:transform .25s ease;width:18px;height:18px}.baklava-select>.__selected>.__icon path{stroke:var(--baklava-control-color-foreground);fill:var(--baklava-control-color-foreground)}.baklava-select>.__dropdown{position:absolute;top:100%;left:0;right:0;z-index:10;background-color:var(--baklava-context-menu-background);filter:drop-shadow(0 0 4px black);border-radius:0 0 var(--baklava-control-border-radius) var(--baklava-control-border-radius);max-height:15em;overflow-y:scroll}.baklava-select>.__dropdown::-webkit-scrollbar{width:0px;background:transparent}.baklava-select>.__dropdown>.item{padding:.35em .35em .35em 1em;transition:background .05s linear}.baklava-select>.__dropdown>.item:not(.--header):not(.--active){cursor:pointer}.baklava-select>.__dropdown>.item:not(.--header):not(.--active):hover{background:var(--baklava-control-color-hover)}.baklava-select>.__dropdown>.item.--active{background:var(--baklava-control-color-primary)}.baklava-select>.__dropdown>.item.--header{color:var(--baklava-control-color-disabled-foreground);border-bottom:1px solid var(--baklava-control-color-disabled-foreground);padding:.5em .35em .5em 1em}.baklava-slider{background:var(--baklava-control-color-background);color:var(--baklava-control-color-foreground);border-radius:var(--baklava-control-border-radius);position:relative;cursor:pointer}.baklava-slider>.__content{display:flex;position:relative}.baklava-slider>.__content>.__label,.baklava-slider>.__content>.__value{flex:1 1 auto;margin:.35em 0;padding:0 .5em;text-overflow:ellipsis}.baklava-slider>.__content>.__value{text-align:right}.baklava-slider>.__content>input{background-color:var(--baklava-control-color-background);color:var(--baklava-control-color-foreground);caret-color:var(--baklava-control-color-primary);padding:.35em;width:100%}.baklava-slider>.__slider{position:absolute;top:0;bottom:0;left:0;background-color:var(--baklava-control-color-primary);border-radius:var(--baklava-control-border-radius)}.baklava-connection{stroke:var(--baklava-color-connection-default);stroke-width:2px;fill:none}.baklava-connection.--temporary{stroke-width:4px;stroke-dasharray:5 5;stroke-dashoffset:0;animation:dash 1s linear infinite;transform:translateY(-1px)}@keyframes dash{to{stroke-dashoffset:20}}.baklava-connection.--allowed{stroke:var(--baklava-color-connection-allowed)}.baklava-connection.--forbidden{stroke:var(--baklava-color-connection-forbidden)}.baklava-minimap{position:absolute;height:15%;width:15%;min-width:150px;max-width:90%;top:20px;right:20px;z-index:900}.baklava-editor{width:100%;height:100%;position:relative;overflow:hidden;outline:none!important;font-family:Lato,Segoe UI,Tahoma,Geneva,Verdana,sans-serif;font-size:15px;touch-action:none}.baklava-editor .background{background-color:var(--baklava-editor-background-pattern-default);background-image:linear-gradient(var(--baklava-editor-background-pattern-black) 2px,transparent 2px),linear-gradient(90deg,var(--baklava-editor-background-pattern-black) 2px,transparent 2px),linear-gradient(var(--baklava-editor-background-pattern-line) 1px,transparent 1px),linear-gradient(90deg,var(--baklava-editor-background-pattern-line) 1px,transparent 1px);background-repeat:repeat;width:100%;height:100%;pointer-events:none!important}.baklava-editor *:not(input):not(textarea){user-select:none;-moz-user-select:none;-webkit-user-select:none;touch-action:none}.baklava-editor .input-user-select{user-select:auto;-moz-user-select:auto;-webkit-user-select:auto}.baklava-editor *,.baklava-editor *:after,.baklava-editor *:before{box-sizing:border-box}.baklava-editor.--temporary-connection{cursor:crosshair}.baklava-editor .connections-container{position:absolute;top:0;left:0;width:100%;height:100%;pointer-events:none!important}.baklava-editor .node-container{position:absolute;top:0;left:0;width:100%;height:100%;pointer-events:none}.baklava-editor .node-container *{pointer-events:all}.baklava-ignore-mouse *{pointer-events:none!important}.baklava-ignore-mouse .__port{pointer-events:all!important}.baklava-node-interface{padding:.25em 0;position:relative}.baklava-node-interface .__port{position:absolute;width:10px;height:10px;background:white;border-radius:50%;top:calc(50% - 5px);cursor:crosshair}.baklava-node-interface .__port.--selected{outline:2px var(--baklava-color-connection-default) solid;outline-offset:4px}.baklava-node-interface.--input{text-align:left;padding-left:.5em}.baklava-node-interface.--input .__port{left:-1.1em}.baklava-node-interface.--output{text-align:right;padding-right:.5em}.baklava-node-interface.--output .__port{right:-1.1em}.baklava-node-interface .__tooltip{position:absolute;left:5px;top:15px;transform:translate(-50%);background:var(--baklava-node-interface-port-tooltip-color-background);color:var(--baklava-node-interface-port-tooltip-color-foreground);padding:.25em .5em;text-align:center;z-index:2}.baklava-node-palette{position:absolute;left:0;top:60px;width:250px;height:calc(100% - 60px);z-index:3;padding:2rem;overflow-y:auto;background:var(--baklava-node-palette-background);color:var(--baklava-node-palette-foreground)}.baklava-node-palette h1{margin-top:2rem}.baklava-node.--palette{position:unset;margin:1rem 0;cursor:grab}.baklava-node.--palette:first-child{margin-top:0}.baklava-node.--palette .__title{padding:.5rem;border-radius:var(--baklava-node-border-radius)}.baklava-dragged-node{position:absolute;width:calc(250px - 4rem);height:40px;z-index:4;pointer-events:none}.baklava-node{background:var(--baklava-node-color-background);color:var(--baklava-node-color-foreground);border:1px solid transparent;border-radius:var(--baklava-node-border-radius);position:absolute;box-shadow:0 0 4px #000c;transition:border-color var(--baklava-visual-transition),box-shadow var(--baklava-visual-transition);width:var(--width)}.baklava-node:hover{border-color:var(--baklava-node-color-hover)}.baklava-node:hover .__resize-handle:after{opacity:1}.baklava-node.--selected{z-index:5;border-color:var(--baklava-node-color-selected)}.baklava-node.--dragging{box-shadow:0 0 12px #000c}.baklava-node.--dragging>.__title{cursor:grabbing}.baklava-node>.__title{display:flex;background:var(--baklava-node-title-color-background);color:var(--baklava-node-title-color-foreground);padding:.4em .75em;border-radius:var(--baklava-node-border-radius) var(--baklava-node-border-radius) 0 0;cursor:grab}.baklava-node>.__title>*:first-child{flex-grow:1}.baklava-node>.__title>.__title-label{pointer-events:none}.baklava-node>.__title>.__menu{position:relative;cursor:initial}.baklava-node[data-node-type^=__baklava_]>.__title{background:var(--baklava-group-node-title-color-background);color:var(--baklava-group-node-title-color-foreground)}.baklava-node>.__content{padding:.75em}.baklava-node>.__content>div>div{margin:.5em 0}.baklava-node.--two-column>.__content{display:grid;grid-template-columns:1fr 1fr;grid-template-rows:auto auto;grid-template-areas:". ." ". ."}.baklava-node.--two-column>.__content>.__inputs{grid-row:1;grid-column:1}.baklava-node.--two-column>.__content>.__outputs{grid-row:1;grid-column:2}.baklava-node .__resize-handle{position:absolute;right:0;bottom:0;width:1rem;height:1rem;transform:translate(50%);cursor:ew-resize}.baklava-node .__resize-handle:after{content:"";position:absolute;bottom:0;left:-.5rem;width:1rem;height:1rem;opacity:0;border-bottom-right-radius:var(--baklava-node-border-radius);transition:opacity var(--baklava-visual-transition);background:linear-gradient(-45deg,transparent 10%,var(--baklava-node-color-resize-handle) 10%,var(--baklava-node-color-resize-handle) 15%,transparent 15%,transparent 30%,var(--baklava-node-color-resize-handle) 30%,var(--baklava-node-color-resize-handle) 35%,transparent 35%,transparent 50%,var(--baklava-node-color-resize-handle) 50%,var(--baklava-node-color-resize-handle) 55%,transparent 55%)}.baklava-sidebar{position:absolute;height:100%;width:25%;min-width:300px;max-width:90%;top:0;right:0;z-index:1000;background-color:var(--baklava-sidebar-color-background);color:var(--baklava-sidebar-color-foreground);box-shadow:none;overflow-x:hidden;padding:1em;transform:translate(100%);transition:transform .5s;display:flex;flex-direction:column}.baklava-sidebar.--open{transform:translate(0);box-shadow:0 0 15px #000}.baklava-sidebar .__resizer{position:absolute;left:0;top:0;height:100%;width:4px;cursor:col-resize}.baklava-sidebar .__header{display:flex;align-items:center}.baklava-sidebar .__header .__node-name{margin-left:.5rem}.baklava-sidebar .__close{font-size:2em;border:none;background:none;color:inherit;cursor:pointer}.baklava-sidebar .__interface{margin:.5em 0}.baklava-toolbar{position:absolute;left:0;top:0;width:100%;height:60px;z-index:3;padding:.5rem 2rem;background:var(--baklava-toolbar-background);color:var(--baklava-toolbar-foreground);display:flex;align-items:center}.baklava-toolbar-entry{margin-left:.5rem;margin-right:.5rem}.baklava-toolbar-button{color:var(--baklava-toolbar-foreground);background:none;border:none;transition:color var(--baklava-visual-transition)}.baklava-toolbar-button:not([disabled]){cursor:pointer}.baklava-toolbar-button:hover:not([disabled]){color:var(--baklava-control-color-primary)}.baklava-toolbar-button[disabled]{color:var(--baklava-control-color-disabled-foreground)}.slide-fade-enter-active,.slide-fade-leave-active{transition:all .1s ease-out}.slide-fade-enter-from,.slide-fade-leave-to{transform:translateY(5px);opacity:0}.fade-enter-active,.fade-leave-active{transition:opacity .1s ease-out!important}.fade-enter-from,.fade-leave-to{opacity:0}*,:before,:after{box-sizing:border-box;border-width:0;border-style:solid;border-color:#e5e7eb}:before,:after{--tw-content: ""}html{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-family:PTSans,Roboto,sans-serif;font-feature-settings:normal;font-variation-settings:normal}body{margin:0;line-height:inherit}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-feature-settings:inherit;font-variation-settings:inherit;font-size:100%;font-weight:inherit;line-height:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,[type=button],[type=reset],[type=submit]{-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dl,dd,h1,h2,h3,h4,h5,h6,hr,figure,p,pre{margin:0}fieldset{margin:0;padding:0}legend{padding:0}ol,ul,menu{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}button,[role=button]{cursor:pointer}:disabled{cursor:default}img,svg,video,canvas,audio,iframe,embed,object{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]{display:none}.tooltip-arrow,.tooltip-arrow:before{position:absolute;width:8px;height:8px;background:inherit}.tooltip-arrow{visibility:hidden}.tooltip-arrow:before{content:"";visibility:visible;transform:rotate(45deg)}[data-tooltip-style^=light]+.tooltip>.tooltip-arrow:before{border-style:solid;border-color:#e5e7eb}[data-tooltip-style^=light]+.tooltip[data-popper-placement^=top]>.tooltip-arrow:before{border-bottom-width:1px;border-right-width:1px}[data-tooltip-style^=light]+.tooltip[data-popper-placement^=right]>.tooltip-arrow:before{border-bottom-width:1px;border-left-width:1px}[data-tooltip-style^=light]+.tooltip[data-popper-placement^=bottom]>.tooltip-arrow:before{border-top-width:1px;border-left-width:1px}[data-tooltip-style^=light]+.tooltip[data-popper-placement^=left]>.tooltip-arrow:before{border-top-width:1px;border-right-width:1px}.tooltip[data-popper-placement^=top]>.tooltip-arrow{bottom:-4px}.tooltip[data-popper-placement^=bottom]>.tooltip-arrow{top:-4px}.tooltip[data-popper-placement^=left]>.tooltip-arrow{right:-4px}.tooltip[data-popper-placement^=right]>.tooltip-arrow{left:-4px}.tooltip.invisible>.tooltip-arrow:before{visibility:hidden}[data-popper-arrow],[data-popper-arrow]:before{position:absolute;width:8px;height:8px;background:inherit}[data-popper-arrow]{visibility:hidden}[data-popper-arrow]:before{content:"";visibility:visible;transform:rotate(45deg)}[data-popper-arrow]:after{content:"";visibility:visible;transform:rotate(45deg);position:absolute;width:9px;height:9px;background:inherit}[role=tooltip]>[data-popper-arrow]:before{border-style:solid;border-color:#e5e7eb}.dark [role=tooltip]>[data-popper-arrow]:before{border-style:solid;border-color:#4b5563}[role=tooltip]>[data-popper-arrow]:after{border-style:solid;border-color:#e5e7eb}.dark [role=tooltip]>[data-popper-arrow]:after{border-style:solid;border-color:#4b5563}[data-popover][role=tooltip][data-popper-placement^=top]>[data-popper-arrow]:before{border-bottom-width:1px;border-right-width:1px}[data-popover][role=tooltip][data-popper-placement^=top]>[data-popper-arrow]:after{border-bottom-width:1px;border-right-width:1px}[data-popover][role=tooltip][data-popper-placement^=right]>[data-popper-arrow]:before{border-bottom-width:1px;border-left-width:1px}[data-popover][role=tooltip][data-popper-placement^=right]>[data-popper-arrow]:after{border-bottom-width:1px;border-left-width:1px}[data-popover][role=tooltip][data-popper-placement^=bottom]>[data-popper-arrow]:before{border-top-width:1px;border-left-width:1px}[data-popover][role=tooltip][data-popper-placement^=bottom]>[data-popper-arrow]:after{border-top-width:1px;border-left-width:1px}[data-popover][role=tooltip][data-popper-placement^=left]>[data-popper-arrow]:before{border-top-width:1px;border-right-width:1px}[data-popover][role=tooltip][data-popper-placement^=left]>[data-popper-arrow]:after{border-top-width:1px;border-right-width:1px}[data-popover][role=tooltip][data-popper-placement^=top]>[data-popper-arrow]{bottom:-5px}[data-popover][role=tooltip][data-popper-placement^=bottom]>[data-popper-arrow]{top:-5px}[data-popover][role=tooltip][data-popper-placement^=left]>[data-popper-arrow]{right:-5px}[data-popover][role=tooltip][data-popper-placement^=right]>[data-popper-arrow]{left:-5px}[role=tooltip].invisible>[data-popper-arrow]:before{visibility:hidden}[role=tooltip].invisible>[data-popper-arrow]:after{visibility:hidden}[type=text],[type=email],[type=url],[type=password],[type=number],[type=date],[type=datetime-local],[type=month],[type=search],[type=tel],[type=time],[type=week],[multiple],textarea,select{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-color:#fff;border-color:#6b7280;border-width:1px;border-radius:0;padding:.5rem .75rem;font-size:1rem;line-height:1.5rem;--tw-shadow: 0 0 #0000}[type=text]:focus,[type=email]:focus,[type=url]:focus,[type=password]:focus,[type=number]:focus,[type=date]:focus,[type=datetime-local]:focus,[type=month]:focus,[type=search]:focus,[type=tel]:focus,[type=time]:focus,[type=week]:focus,[multiple]:focus,textarea:focus,select:focus{outline:2px solid transparent;outline-offset:2px;--tw-ring-inset: var(--tw-empty, );--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: #1C64F2;--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow);border-color:#1c64f2}input::-moz-placeholder,textarea::-moz-placeholder{color:#6b7280;opacity:1}input::placeholder,textarea::placeholder{color:#6b7280;opacity:1}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-date-and-time-value{min-height:1.5em}select:not([size]){background-image:url("data:image/svg+xml,%3csvg aria-hidden='true' xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 10 6'%3e %3cpath stroke='%236B7280' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m1 1 4 4 4-4'/%3e %3c/svg%3e");background-position:right .75rem center;background-repeat:no-repeat;background-size:.75em .75em;padding-right:2.5rem;-webkit-print-color-adjust:exact;print-color-adjust:exact}[multiple]{background-image:initial;background-position:initial;background-repeat:unset;background-size:initial;padding-right:.75rem;-webkit-print-color-adjust:unset;print-color-adjust:unset}[type=checkbox],[type=radio]{-webkit-appearance:none;-moz-appearance:none;appearance:none;padding:0;-webkit-print-color-adjust:exact;print-color-adjust:exact;display:inline-block;vertical-align:middle;background-origin:border-box;-webkit-user-select:none;-moz-user-select:none;user-select:none;flex-shrink:0;height:1rem;width:1rem;color:#1c64f2;background-color:#fff;border-color:#6b7280;border-width:1px;--tw-shadow: 0 0 #0000}[type=checkbox]{border-radius:0}[type=radio]{border-radius:100%}[type=checkbox]:focus,[type=radio]:focus{outline:2px solid transparent;outline-offset:2px;--tw-ring-inset: var(--tw-empty, );--tw-ring-offset-width: 2px;--tw-ring-offset-color: #fff;--tw-ring-color: #1C64F2;--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}[type=checkbox]:checked,[type=radio]:checked,.dark [type=checkbox]:checked,.dark [type=radio]:checked{border-color:transparent;background-color:currentColor;background-size:.55em .55em;background-position:center;background-repeat:no-repeat}[type=checkbox]:checked{background-image:url("data:image/svg+xml,%3csvg aria-hidden='true' xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 16 12'%3e %3cpath stroke='white' stroke-linecap='round' stroke-linejoin='round' stroke-width='3' d='M1 5.917 5.724 10.5 15 1.5'/%3e %3c/svg%3e");background-repeat:no-repeat;background-size:.55em .55em;-webkit-print-color-adjust:exact;print-color-adjust:exact}[type=radio]:checked{background-image:url("data:image/svg+xml,%3csvg viewBox='0 0 16 16' fill='white' xmlns='http://www.w3.org/2000/svg'%3e%3ccircle cx='8' cy='8' r='3'/%3e%3c/svg%3e");background-size:1em 1em}.dark [type=radio]:checked{background-image:url("data:image/svg+xml,%3csvg viewBox='0 0 16 16' fill='white' xmlns='http://www.w3.org/2000/svg'%3e%3ccircle cx='8' cy='8' r='3'/%3e%3c/svg%3e");background-size:1em 1em}[type=checkbox]:indeterminate{background-image:url("data:image/svg+xml,%3csvg aria-hidden='true' xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 16 12'%3e %3cpath stroke='white' stroke-linecap='round' stroke-linejoin='round' stroke-width='3' d='M1 5.917 5.724 10.5 15 1.5'/%3e %3c/svg%3e");background-color:currentColor;border-color:transparent;background-position:center;background-repeat:no-repeat;background-size:.55em .55em;-webkit-print-color-adjust:exact;print-color-adjust:exact}[type=checkbox]:indeterminate:hover,[type=checkbox]:indeterminate:focus{border-color:transparent;background-color:currentColor}[type=file]{background:unset;border-color:inherit;border-width:0;border-radius:0;padding:0;font-size:unset;line-height:inherit}[type=file]:focus{outline:1px auto inherit}input[type=file]::file-selector-button{color:#fff;background:#1F2937;border:0;font-weight:500;font-size:.875rem;cursor:pointer;padding:.625rem 1rem .625rem 2rem;margin-inline-start:-1rem;margin-inline-end:1rem}input[type=file]::file-selector-button:hover{background:#374151}.dark input[type=file]::file-selector-button{color:#fff;background:#4B5563}.dark input[type=file]::file-selector-button:hover{background:#6B7280}input[type=range]::-webkit-slider-thumb{height:1.25rem;width:1.25rem;background:#1C64F2;border-radius:9999px;border:0;appearance:none;-moz-appearance:none;-webkit-appearance:none;cursor:pointer}input[type=range]:disabled::-webkit-slider-thumb{background:#9CA3AF}.dark input[type=range]:disabled::-webkit-slider-thumb{background:#6B7280}input[type=range]:focus::-webkit-slider-thumb{outline:2px solid transparent;outline-offset:2px;--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(4px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000);--tw-ring-opacity: 1px;--tw-ring-color: rgb(164 202 254 / var(--tw-ring-opacity))}input[type=range]::-moz-range-thumb{height:1.25rem;width:1.25rem;background:#1C64F2;border-radius:9999px;border:0;appearance:none;-moz-appearance:none;-webkit-appearance:none;cursor:pointer}input[type=range]:disabled::-moz-range-thumb{background:#9CA3AF}.dark input[type=range]:disabled::-moz-range-thumb{background:#6B7280}input[type=range]::-moz-range-progress{background:#3F83F8}input[type=range]::-ms-fill-lower{background:#3F83F8}.toggle-bg:after{content:"";position:absolute;top:.125rem;left:.125rem;background:white;border-color:#d1d5db;border-width:1px;border-radius:9999px;height:1.25rem;width:1.25rem;transition-property:background-color,border-color,color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter,-webkit-backdrop-filter;transition-duration:.15s;box-shadow:var(--tw-ring-inset) 0 0 0 calc(0px + var(--tw-ring-offset-width)) var(--tw-ring-color)}input:checked+.toggle-bg:after{transform:translate(100%);border-color:#fff}input:checked+.toggle-bg{background:#1C64F2;border-color:#1c64f2}*{scrollbar-color:initial;scrollbar-width:initial}html{scroll-behavior:smooth}@font-face{font-family:Roboto;src:url(/assets/Roboto-Regular-7277cfb8.ttf) format("truetype")}@font-face{font-family:PTSans;src:url(/assets/PTSans-Regular-23b91352.ttf) format("truetype")}*,:before,:after{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(63 131 248 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: }::backdrop{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(63 131 248 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: }.container{width:100%;margin-right:auto;margin-left:auto;padding-right:2rem;padding-left:2rem}@media (min-width: 640px){.container{max-width:640px}}@media (min-width: 768px){.container{max-width:768px}}@media (min-width: 1024px){.container{max-width:1024px}}@media (min-width: 1280px){.container{max-width:1280px}}@media (min-width: 1536px){.container{max-width:1536px}}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}.pointer-events-none{pointer-events:none}.visible{visibility:visible}.invisible{visibility:hidden}.collapse{visibility:collapse}.static{position:static}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.sticky{position:sticky}.inset-0{top:0;right:0;bottom:0;left:0}.inset-y-0{top:0;bottom:0}.-bottom-1{bottom:-.25rem}.-bottom-1\.5{bottom:-.375rem}.-bottom-2{bottom:-.5rem}.-bottom-4{bottom:-1rem}.-left-1{left:-.25rem}.-left-1\.5{left:-.375rem}.-left-6{left:-1.5rem}.-right-0{right:-0px}.-right-0\.5{right:-.125rem}.-right-1{right:-.25rem}.-right-1\.5{right:-.375rem}.-right-6{right:-1.5rem}.-top-1{top:-.25rem}.-top-1\.5{top:-.375rem}.-top-2{top:-.5rem}.-top-20{top:-5rem}.-top-6{top:-1.5rem}.-top-9{top:-2.25rem}.bottom-0{bottom:0}.bottom-16{bottom:4rem}.bottom-2{bottom:.5rem}.bottom-2\.5{bottom:.625rem}.bottom-20{bottom:5rem}.bottom-5{bottom:1.25rem}.bottom-\[60px\]{bottom:60px}.left-0{left:0}.left-1{left:.25rem}.left-1\/2{left:50%}.left-2{left:.5rem}.left-20{left:5rem}.right-0{right:0}.right-2{right:.5rem}.right-2\.5{right:.625rem}.right-20{right:5rem}.right-3{right:.75rem}.top-0{top:0}.top-1{top:.25rem}.top-1\/2{top:50%}.top-2{top:.5rem}.top-20{top:5rem}.top-3{top:.75rem}.z-0{z-index:0}.z-10{z-index:10}.z-20{z-index:20}.z-30{z-index:30}.z-40{z-index:40}.z-50{z-index:50}.-m-1{margin:-.25rem}.-m-2{margin:-.5rem}.-m-4{margin:-1rem}.m-0{margin:0}.m-1{margin:.25rem}.m-2{margin:.5rem}.m-4{margin:1rem}.-mx-1{margin-left:-.25rem;margin-right:-.25rem}.-mx-1\.5{margin-left:-.375rem;margin-right:-.375rem}.-mx-5{margin-left:-1.25rem;margin-right:-1.25rem}.-my-1{margin-top:-.25rem;margin-bottom:-.25rem}.-my-1\.5{margin-top:-.375rem;margin-bottom:-.375rem}.mx-0{margin-left:0;margin-right:0}.mx-1{margin-left:.25rem;margin-right:.25rem}.mx-1\.5{margin-left:.375rem;margin-right:.375rem}.mx-2{margin-left:.5rem;margin-right:.5rem}.mx-3{margin-left:.75rem;margin-right:.75rem}.mx-4{margin-left:1rem;margin-right:1rem}.mx-auto{margin-left:auto;margin-right:auto}.my-1{margin-top:.25rem;margin-bottom:.25rem}.my-2{margin-top:.5rem;margin-bottom:.5rem}.my-4{margin-top:1rem;margin-bottom:1rem}.-mb-px{margin-bottom:-1px}.mb-1{margin-bottom:.25rem}.mb-10{margin-bottom:2.5rem}.mb-2{margin-bottom:.5rem}.mb-3{margin-bottom:.75rem}.mb-3\.5{margin-bottom:.875rem}.mb-4{margin-bottom:1rem}.mb-5{margin-bottom:1.25rem}.ml-0{margin-left:0}.ml-1{margin-left:.25rem}.ml-2{margin-left:.5rem}.ml-3{margin-left:.75rem}.ml-4{margin-left:1rem}.ml-5{margin-left:1.25rem}.ml-6{margin-left:1.5rem}.ml-auto{margin-left:auto}.mr-0{margin-right:0}.mr-1{margin-right:.25rem}.mr-2{margin-right:.5rem}.mr-3{margin-right:.75rem}.mr-4{margin-right:1rem}.mt-0{margin-top:0}.mt-1{margin-top:.25rem}.mt-1\.5{margin-top:.375rem}.mt-14{margin-top:3.5rem}.mt-2{margin-top:.5rem}.mt-3{margin-top:.75rem}.mt-4{margin-top:1rem}.mt-6{margin-top:1.5rem}.line-clamp-1{overflow:hidden;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:1}.line-clamp-3{overflow:hidden;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3}.block{display:block}.inline-block{display:inline-block}.inline{display:inline}.flex{display:flex}.inline-flex{display:inline-flex}.table{display:table}.grid{display:grid}.contents{display:contents}.hidden{display:none}.aspect-square{aspect-ratio:1 / 1}.h-0{height:0px}.h-0\.5{height:.125rem}.h-1{height:.25rem}.h-1\.5{height:.375rem}.h-10{height:2.5rem}.h-11{height:2.75rem}.h-12{height:3rem}.h-14{height:3.5rem}.h-2{height:.5rem}.h-2\.5{height:.625rem}.h-20{height:5rem}.h-24{height:6rem}.h-3{height:.75rem}.h-3\.5{height:.875rem}.h-32{height:8rem}.h-36{height:9rem}.h-4{height:1rem}.h-4\/5{height:80%}.h-48{height:12rem}.h-5{height:1.25rem}.h-56{height:14rem}.h-6{height:1.5rem}.h-7{height:1.75rem}.h-8{height:2rem}.h-9{height:2.25rem}.h-96{height:24rem}.h-\[200px\]{height:200px}.h-auto{height:auto}.h-fit{height:-moz-fit-content;height:fit-content}.h-full{height:100%}.h-modal{height:calc(100% - 2rem)}.h-px{height:1px}.h-screen{height:100vh}.max-h-6{max-height:1.5rem}.max-h-64{max-height:16rem}.max-h-96{max-height:24rem}.max-h-\[400px\]{max-height:400px}.max-h-full{max-height:100%}.max-h-screen{max-height:100vh}.min-h-\[500px\]{min-height:500px}.min-h-\[900px\]{min-height:900px}.min-h-full{min-height:100%}.w-0{width:0px}.w-0\.5{width:.125rem}.w-1{width:.25rem}.w-1\.5{width:.375rem}.w-1\/2{width:50%}.w-10{width:2.5rem}.w-11{width:2.75rem}.w-12{width:3rem}.w-14{width:3.5rem}.w-16{width:4rem}.w-2{width:.5rem}.w-2\.5{width:.625rem}.w-20{width:5rem}.w-24{width:6rem}.w-3{width:.75rem}.w-3\.5{width:.875rem}.w-3\/4{width:75%}.w-3\/5{width:60%}.w-36{width:9rem}.w-4{width:1rem}.w-4\/5{width:80%}.w-4\/6{width:66.666667%}.w-48{width:12rem}.w-5{width:1.25rem}.w-6{width:1.5rem}.w-64{width:16rem}.w-7{width:1.75rem}.w-8{width:2rem}.w-80{width:20rem}.w-9{width:2.25rem}.w-96{width:24rem}.w-\[1000px\]{width:1000px}.w-auto{width:auto}.w-fit{width:-moz-fit-content;width:fit-content}.w-full{width:100%}.w-max{width:-moz-max-content;width:max-content}.w-px{width:1px}.w-screen{width:100vw}.min-w-\[23rem\]{min-width:23rem}.min-w-\[24rem\]{min-width:24rem}.min-w-\[300px\]{min-width:300px}.max-w-2xl{max-width:42rem}.max-w-3xl{max-width:48rem}.max-w-4xl{max-width:56rem}.max-w-5xl{max-width:64rem}.max-w-6xl{max-width:72rem}.max-w-7xl{max-width:80rem}.max-w-\[23rem\]{max-width:23rem}.max-w-\[24rem\]{max-width:24rem}.max-w-\[300px\]{max-width:300px}.max-w-\[900px\]{max-width:900px}.max-w-full{max-width:100%}.max-w-lg{max-width:32rem}.max-w-md{max-width:28rem}.max-w-sm{max-width:24rem}.max-w-xl{max-width:36rem}.max-w-xs{max-width:20rem}.flex-1{flex:1 1 0%}.flex-none{flex:none}.flex-shrink{flex-shrink:1}.flex-shrink-0{flex-shrink:0}.shrink{flex-shrink:1}.shrink-0{flex-shrink:0}.flex-grow{flex-grow:1}.flex-grow-0{flex-grow:0}.grow{flex-grow:1}.-translate-x-1\/2{--tw-translate-x: -50%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.-translate-x-full{--tw-translate-x: -100%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.-translate-y-0{--tw-translate-y: -0px;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.-translate-y-1\/2{--tw-translate-y: -50%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.-translate-y-full{--tw-translate-y: -100%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.translate-x-0{--tw-translate-x: 0px;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.translate-x-full{--tw-translate-x: 100%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.translate-y-1\/2{--tw-translate-y: 50%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.translate-y-full{--tw-translate-y: 100%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.rotate-180{--tw-rotate: 180deg;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.rotate-90{--tw-rotate: 90deg;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.scale-150{--tw-scale-x: 1.5;--tw-scale-y: 1.5;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.scale-75{--tw-scale-x: .75;--tw-scale-y: .75;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.transform-none{transform:none}@keyframes bounce{0%,to{transform:translateY(-25%);animation-timing-function:cubic-bezier(.8,0,1,1)}50%{transform:none;animation-timing-function:cubic-bezier(0,0,.2,1)}}.animate-bounce{animation:bounce 1s infinite}@keyframes pulse{50%{opacity:.5}}.animate-pulse{animation:pulse 2s cubic-bezier(.4,0,.6,1) infinite}@keyframes spin{to{transform:rotate(360deg)}}.animate-spin{animation:spin 1s linear infinite}.cursor-default{cursor:default}.cursor-not-allowed{cursor:not-allowed}.cursor-pointer{cursor:pointer}.select-none{-webkit-user-select:none;-moz-user-select:none;user-select:none}.resize{resize:both}.list-none{list-style-type:none}.appearance-none{-webkit-appearance:none;-moz-appearance:none;appearance:none}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.grid-cols-7{grid-template-columns:repeat(7,minmax(0,1fr))}.grid-cols-\[40px\,1fr\]{grid-template-columns:40px 1fr}.flex-row{flex-direction:row}.flex-row-reverse{flex-direction:row-reverse}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.place-content-center{place-content:center}.items-start{align-items:flex-start}.items-end{align-items:flex-end}.items-center{align-items:center}.justify-start{justify-content:flex-start}.justify-end{justify-content:flex-end}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-1{gap:.25rem}.gap-2{gap:.5rem}.gap-2\.5{gap:.625rem}.gap-3{gap:.75rem}.gap-4{gap:1rem}.-space-x-4>:not([hidden])~:not([hidden]){--tw-space-x-reverse: 0;margin-right:calc(-1rem * var(--tw-space-x-reverse));margin-left:calc(-1rem * calc(1 - var(--tw-space-x-reverse)))}.-space-x-px>:not([hidden])~:not([hidden]){--tw-space-x-reverse: 0;margin-right:calc(-1px * var(--tw-space-x-reverse));margin-left:calc(-1px * calc(1 - var(--tw-space-x-reverse)))}.space-x-1>:not([hidden])~:not([hidden]){--tw-space-x-reverse: 0;margin-right:calc(.25rem * var(--tw-space-x-reverse));margin-left:calc(.25rem * calc(1 - var(--tw-space-x-reverse)))}.space-x-2>:not([hidden])~:not([hidden]){--tw-space-x-reverse: 0;margin-right:calc(.5rem * var(--tw-space-x-reverse));margin-left:calc(.5rem * calc(1 - var(--tw-space-x-reverse)))}.space-x-3>:not([hidden])~:not([hidden]){--tw-space-x-reverse: 0;margin-right:calc(.75rem * var(--tw-space-x-reverse));margin-left:calc(.75rem * calc(1 - var(--tw-space-x-reverse)))}.space-x-4>:not([hidden])~:not([hidden]){--tw-space-x-reverse: 0;margin-right:calc(1rem * var(--tw-space-x-reverse));margin-left:calc(1rem * calc(1 - var(--tw-space-x-reverse)))}.space-y-2>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.5rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.5rem * var(--tw-space-y-reverse))}.divide-x>:not([hidden])~:not([hidden]){--tw-divide-x-reverse: 0;border-right-width:calc(1px * var(--tw-divide-x-reverse));border-left-width:calc(1px * calc(1 - var(--tw-divide-x-reverse)))}.divide-y>:not([hidden])~:not([hidden]){--tw-divide-y-reverse: 0;border-top-width:calc(1px * calc(1 - var(--tw-divide-y-reverse)));border-bottom-width:calc(1px * var(--tw-divide-y-reverse))}.divide-gray-100>:not([hidden])~:not([hidden]){--tw-divide-opacity: 1;border-color:rgb(243 244 246 / var(--tw-divide-opacity))}.divide-gray-200>:not([hidden])~:not([hidden]){--tw-divide-opacity: 1;border-color:rgb(229 231 235 / var(--tw-divide-opacity))}.self-center{align-self:center}.self-stretch{align-self:stretch}.overflow-auto{overflow:auto}.overflow-hidden{overflow:hidden}.overflow-visible{overflow:visible}.overflow-x-auto{overflow-x:auto}.overflow-y-auto{overflow-y:auto}.overflow-x-hidden{overflow-x:hidden}.overflow-y-hidden{overflow-y:hidden}.overflow-y-scroll{overflow-y:scroll}.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.whitespace-nowrap{white-space:nowrap}.whitespace-pre-wrap{white-space:pre-wrap}.break-words{overflow-wrap:break-word}.break-all{word-break:break-all}.\!rounded-full{border-radius:9999px!important}.rounded{border-radius:.25rem}.rounded-full{border-radius:9999px}.rounded-lg{border-radius:.5rem}.rounded-md{border-radius:.375rem}.rounded-sm{border-radius:.125rem}.rounded-xl{border-radius:.75rem}.rounded-b{border-bottom-right-radius:.25rem;border-bottom-left-radius:.25rem}.rounded-b-lg{border-bottom-right-radius:.5rem;border-bottom-left-radius:.5rem}.rounded-l-lg{border-top-left-radius:.5rem;border-bottom-left-radius:.5rem}.rounded-r-lg{border-top-right-radius:.5rem;border-bottom-right-radius:.5rem}.rounded-t{border-top-left-radius:.25rem;border-top-right-radius:.25rem}.rounded-t-lg{border-top-left-radius:.5rem;border-top-right-radius:.5rem}.rounded-t-xl{border-top-left-radius:.75rem;border-top-right-radius:.75rem}.border{border-width:1px}.border-0{border-width:0px}.border-2{border-width:2px}.border-4{border-width:4px}.border-x-0{border-left-width:0px;border-right-width:0px}.border-b{border-bottom-width:1px}.border-b-0{border-bottom-width:0px}.border-b-2{border-bottom-width:2px}.border-l{border-left-width:1px}.border-r{border-right-width:1px}.border-t{border-top-width:1px}.border-t-0{border-top-width:0px}.border-t-4{border-top-width:4px}.border-dashed{border-style:dashed}.border-none{border-style:none}.border-bg-dark{border-color:var(--color-bg-dark)}.border-blue-300{--tw-border-opacity: 1;border-color:rgb(164 202 254 / var(--tw-border-opacity))}.border-blue-500{--tw-border-opacity: 1;border-color:rgb(63 131 248 / var(--tw-border-opacity))}.border-blue-600{--tw-border-opacity: 1;border-color:rgb(28 100 242 / var(--tw-border-opacity))}.border-blue-700{--tw-border-opacity: 1;border-color:rgb(26 86 219 / var(--tw-border-opacity))}.border-gray-100{--tw-border-opacity: 1;border-color:rgb(243 244 246 / var(--tw-border-opacity))}.border-gray-200{--tw-border-opacity: 1;border-color:rgb(229 231 235 / var(--tw-border-opacity))}.border-gray-300{--tw-border-opacity: 1;border-color:rgb(209 213 219 / var(--tw-border-opacity))}.border-gray-500{--tw-border-opacity: 1;border-color:rgb(107 114 128 / var(--tw-border-opacity))}.border-gray-600{--tw-border-opacity: 1;border-color:rgb(75 85 99 / var(--tw-border-opacity))}.border-gray-700{--tw-border-opacity: 1;border-color:rgb(55 65 81 / var(--tw-border-opacity))}.border-gray-800{--tw-border-opacity: 1;border-color:rgb(31 41 55 / var(--tw-border-opacity))}.border-green-500{--tw-border-opacity: 1;border-color:rgb(14 159 110 / var(--tw-border-opacity))}.border-green-600{--tw-border-opacity: 1;border-color:rgb(5 122 85 / var(--tw-border-opacity))}.border-green-700{--tw-border-opacity: 1;border-color:rgb(4 108 78 / var(--tw-border-opacity))}.border-pink-600{--tw-border-opacity: 1;border-color:rgb(214 31 105 / var(--tw-border-opacity))}.border-pink-700{--tw-border-opacity: 1;border-color:rgb(191 18 93 / var(--tw-border-opacity))}.border-primary{border-color:var(--color-primary)}.border-primary-light{border-color:var(--color-primary-light)}.border-purple-600{--tw-border-opacity: 1;border-color:rgb(126 58 242 / var(--tw-border-opacity))}.border-purple-700{--tw-border-opacity: 1;border-color:rgb(108 43 217 / var(--tw-border-opacity))}.border-red-500{--tw-border-opacity: 1;border-color:rgb(240 82 82 / var(--tw-border-opacity))}.border-red-600{--tw-border-opacity: 1;border-color:rgb(224 36 36 / var(--tw-border-opacity))}.border-red-700{--tw-border-opacity: 1;border-color:rgb(200 30 30 / var(--tw-border-opacity))}.border-secondary{border-color:var(--color-secondary)}.border-transparent{border-color:transparent}.border-white{--tw-border-opacity: 1;border-color:rgb(255 255 255 / var(--tw-border-opacity))}.border-yellow-400{--tw-border-opacity: 1;border-color:rgb(227 160 8 / var(--tw-border-opacity))}.border-yellow-500{--tw-border-opacity: 1;border-color:rgb(194 120 3 / var(--tw-border-opacity))}.bg-accent{background-color:var(--color-accent)}.bg-bg-dark-tone-panel{background-color:var(--color-bg-dark-tone-panel)}.bg-bg-light{background-color:var(--color-bg-light)}.bg-bg-light-discussion{background-color:var(--color-bg-light-discussion)}.bg-bg-light-panel{background-color:var(--color-bg-light-panel)}.bg-bg-light-tone{background-color:var(--color-bg-light-tone)}.bg-bg-light-tone-panel{background-color:var(--color-bg-light-tone-panel)}.bg-black{--tw-bg-opacity: 1;background-color:rgb(0 0 0 / var(--tw-bg-opacity))}.bg-blue-100{--tw-bg-opacity: 1;background-color:rgb(225 239 254 / var(--tw-bg-opacity))}.bg-blue-200{--tw-bg-opacity: 1;background-color:rgb(195 221 253 / var(--tw-bg-opacity))}.bg-blue-300{--tw-bg-opacity: 1;background-color:rgb(164 202 254 / var(--tw-bg-opacity))}.bg-blue-50{--tw-bg-opacity: 1;background-color:rgb(235 245 255 / var(--tw-bg-opacity))}.bg-blue-500{--tw-bg-opacity: 1;background-color:rgb(63 131 248 / var(--tw-bg-opacity))}.bg-blue-600{--tw-bg-opacity: 1;background-color:rgb(28 100 242 / var(--tw-bg-opacity))}.bg-blue-700{--tw-bg-opacity: 1;background-color:rgb(26 86 219 / var(--tw-bg-opacity))}.bg-gray-100{--tw-bg-opacity: 1;background-color:rgb(243 244 246 / var(--tw-bg-opacity))}.bg-gray-200{--tw-bg-opacity: 1;background-color:rgb(229 231 235 / var(--tw-bg-opacity))}.bg-gray-300{--tw-bg-opacity: 1;background-color:rgb(209 213 219 / var(--tw-bg-opacity))}.bg-gray-400{--tw-bg-opacity: 1;background-color:rgb(156 163 175 / var(--tw-bg-opacity))}.bg-gray-50{--tw-bg-opacity: 1;background-color:rgb(249 250 251 / var(--tw-bg-opacity))}.bg-gray-500{--tw-bg-opacity: 1;background-color:rgb(107 114 128 / var(--tw-bg-opacity))}.bg-gray-600{--tw-bg-opacity: 1;background-color:rgb(75 85 99 / var(--tw-bg-opacity))}.bg-gray-700{--tw-bg-opacity: 1;background-color:rgb(55 65 81 / var(--tw-bg-opacity))}.bg-gray-800{--tw-bg-opacity: 1;background-color:rgb(31 41 55 / var(--tw-bg-opacity))}.bg-gray-900{--tw-bg-opacity: 1;background-color:rgb(17 24 39 / var(--tw-bg-opacity))}.bg-green-100{--tw-bg-opacity: 1;background-color:rgb(222 247 236 / var(--tw-bg-opacity))}.bg-green-200{--tw-bg-opacity: 1;background-color:rgb(188 240 218 / var(--tw-bg-opacity))}.bg-green-400{--tw-bg-opacity: 1;background-color:rgb(49 196 141 / var(--tw-bg-opacity))}.bg-green-500{--tw-bg-opacity: 1;background-color:rgb(14 159 110 / var(--tw-bg-opacity))}.bg-green-600{--tw-bg-opacity: 1;background-color:rgb(5 122 85 / var(--tw-bg-opacity))}.bg-green-700{--tw-bg-opacity: 1;background-color:rgb(4 108 78 / var(--tw-bg-opacity))}.bg-indigo-100{--tw-bg-opacity: 1;background-color:rgb(229 237 255 / var(--tw-bg-opacity))}.bg-indigo-200{--tw-bg-opacity: 1;background-color:rgb(205 219 254 / var(--tw-bg-opacity))}.bg-indigo-500{--tw-bg-opacity: 1;background-color:rgb(104 117 245 / var(--tw-bg-opacity))}.bg-indigo-600{--tw-bg-opacity: 1;background-color:rgb(88 80 236 / var(--tw-bg-opacity))}.bg-orange-100{--tw-bg-opacity: 1;background-color:rgb(254 236 220 / var(--tw-bg-opacity))}.bg-pink-100{--tw-bg-opacity: 1;background-color:rgb(252 232 243 / var(--tw-bg-opacity))}.bg-pink-200{--tw-bg-opacity: 1;background-color:rgb(250 209 232 / var(--tw-bg-opacity))}.bg-pink-700{--tw-bg-opacity: 1;background-color:rgb(191 18 93 / var(--tw-bg-opacity))}.bg-primary{background-color:var(--color-primary)}.bg-primary-light{background-color:var(--color-primary-light)}.bg-purple-100{--tw-bg-opacity: 1;background-color:rgb(237 235 254 / var(--tw-bg-opacity))}.bg-purple-200{--tw-bg-opacity: 1;background-color:rgb(220 215 254 / var(--tw-bg-opacity))}.bg-purple-500{--tw-bg-opacity: 1;background-color:rgb(144 97 249 / var(--tw-bg-opacity))}.bg-purple-600{--tw-bg-opacity: 1;background-color:rgb(126 58 242 / var(--tw-bg-opacity))}.bg-purple-700{--tw-bg-opacity: 1;background-color:rgb(108 43 217 / var(--tw-bg-opacity))}.bg-red-100{--tw-bg-opacity: 1;background-color:rgb(253 232 232 / var(--tw-bg-opacity))}.bg-red-200{--tw-bg-opacity: 1;background-color:rgb(251 213 213 / var(--tw-bg-opacity))}.bg-red-400{--tw-bg-opacity: 1;background-color:rgb(249 128 128 / var(--tw-bg-opacity))}.bg-red-500{--tw-bg-opacity: 1;background-color:rgb(240 82 82 / var(--tw-bg-opacity))}.bg-red-600{--tw-bg-opacity: 1;background-color:rgb(224 36 36 / var(--tw-bg-opacity))}.bg-red-700{--tw-bg-opacity: 1;background-color:rgb(200 30 30 / var(--tw-bg-opacity))}.bg-secondary{background-color:var(--color-secondary)}.bg-transparent{background-color:transparent}.bg-white{--tw-bg-opacity: 1;background-color:rgb(255 255 255 / var(--tw-bg-opacity))}.bg-white\/30{background-color:#ffffff4d}.bg-white\/50{background-color:#ffffff80}.bg-yellow-100{--tw-bg-opacity: 1;background-color:rgb(253 246 178 / var(--tw-bg-opacity))}.bg-yellow-200{--tw-bg-opacity: 1;background-color:rgb(252 233 106 / var(--tw-bg-opacity))}.bg-yellow-400{--tw-bg-opacity: 1;background-color:rgb(227 160 8 / var(--tw-bg-opacity))}.bg-opacity-10{--tw-bg-opacity: .1}.bg-opacity-50{--tw-bg-opacity: .5}.bg-opacity-70{--tw-bg-opacity: .7}.bg-gradient-to-br{background-image:linear-gradient(to bottom right,var(--tw-gradient-stops))}.bg-gradient-to-r{background-image:linear-gradient(to right,var(--tw-gradient-stops))}.bg-gradient-to-t{background-image:linear-gradient(to top,var(--tw-gradient-stops))}.from-bg-light{--tw-gradient-from: var(--color-bg-light) var(--tw-gradient-from-position);--tw-gradient-to: rgb(255 255 255 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.from-bg-light-tone{--tw-gradient-from: var(--color-bg-light-tone) var(--tw-gradient-from-position);--tw-gradient-to: rgb(255 255 255 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.from-blue-500{--tw-gradient-from: #3F83F8 var(--tw-gradient-from-position);--tw-gradient-to: rgb(63 131 248 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.from-cyan-500{--tw-gradient-from: #06b6d4 var(--tw-gradient-from-position);--tw-gradient-to: rgb(6 182 212 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.from-green-400{--tw-gradient-from: #31C48D var(--tw-gradient-from-position);--tw-gradient-to: rgb(49 196 141 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.from-green-500{--tw-gradient-from: #0E9F6E var(--tw-gradient-from-position);--tw-gradient-to: rgb(14 159 110 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.from-lime-500{--tw-gradient-from: #84cc16 var(--tw-gradient-from-position);--tw-gradient-to: rgb(132 204 22 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.from-pink-500{--tw-gradient-from: #E74694 var(--tw-gradient-from-position);--tw-gradient-to: rgb(231 70 148 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.from-purple-500{--tw-gradient-from: #9061F9 var(--tw-gradient-from-position);--tw-gradient-to: rgb(144 97 249 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.from-purple-600{--tw-gradient-from: #7E3AF2 var(--tw-gradient-from-position);--tw-gradient-to: rgb(126 58 242 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.from-red-200{--tw-gradient-from: #FBD5D5 var(--tw-gradient-from-position);--tw-gradient-to: rgb(251 213 213 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.from-red-500{--tw-gradient-from: #F05252 var(--tw-gradient-from-position);--tw-gradient-to: rgb(240 82 82 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.from-teal-200{--tw-gradient-from: #AFECEF var(--tw-gradient-from-position);--tw-gradient-to: rgb(175 236 239 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.from-teal-300{--tw-gradient-from: #7EDCE2 var(--tw-gradient-from-position);--tw-gradient-to: rgb(126 220 226 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.from-teal-500{--tw-gradient-from: #0694A2 var(--tw-gradient-from-position);--tw-gradient-to: rgb(6 148 162 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.from-5\%{--tw-gradient-from-position: 5%}.via-bg-light{--tw-gradient-to: rgb(255 255 255 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--color-bg-light) var(--tw-gradient-via-position), var(--tw-gradient-to)}.via-blue-600{--tw-gradient-to: rgb(28 100 242 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), #1C64F2 var(--tw-gradient-via-position), var(--tw-gradient-to)}.via-cyan-600{--tw-gradient-to: rgb(8 145 178 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), #0891b2 var(--tw-gradient-via-position), var(--tw-gradient-to)}.via-green-600{--tw-gradient-to: rgb(5 122 85 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), #057A55 var(--tw-gradient-via-position), var(--tw-gradient-to)}.via-lime-600{--tw-gradient-to: rgb(101 163 13 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), #65a30d var(--tw-gradient-via-position), var(--tw-gradient-to)}.via-pink-600{--tw-gradient-to: rgb(214 31 105 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), #D61F69 var(--tw-gradient-via-position), var(--tw-gradient-to)}.via-purple-600{--tw-gradient-to: rgb(126 58 242 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), #7E3AF2 var(--tw-gradient-via-position), var(--tw-gradient-to)}.via-red-300{--tw-gradient-to: rgb(248 180 180 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), #F8B4B4 var(--tw-gradient-via-position), var(--tw-gradient-to)}.via-red-600{--tw-gradient-to: rgb(224 36 36 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), #E02424 var(--tw-gradient-via-position), var(--tw-gradient-to)}.via-teal-600{--tw-gradient-to: rgb(4 116 129 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), #047481 var(--tw-gradient-via-position), var(--tw-gradient-to)}.via-10\%{--tw-gradient-via-position: 10%}.to-blue-500{--tw-gradient-to: #3F83F8 var(--tw-gradient-to-position)}.to-blue-600{--tw-gradient-to: #1C64F2 var(--tw-gradient-to-position)}.to-blue-700{--tw-gradient-to: #1A56DB var(--tw-gradient-to-position)}.to-cyan-700{--tw-gradient-to: #0e7490 var(--tw-gradient-to-position)}.to-green-700{--tw-gradient-to: #046C4E var(--tw-gradient-to-position)}.to-lime-200{--tw-gradient-to: #d9f99d var(--tw-gradient-to-position)}.to-lime-300{--tw-gradient-to: #bef264 var(--tw-gradient-to-position)}.to-lime-700{--tw-gradient-to: #4d7c0f var(--tw-gradient-to-position)}.to-orange-400{--tw-gradient-to: #FF8A4C var(--tw-gradient-to-position)}.to-pink-500{--tw-gradient-to: #E74694 var(--tw-gradient-to-position)}.to-pink-700{--tw-gradient-to: #BF125D var(--tw-gradient-to-position)}.to-purple-700{--tw-gradient-to: #6C2BD9 var(--tw-gradient-to-position)}.to-red-700{--tw-gradient-to: #C81E1E var(--tw-gradient-to-position)}.to-teal-700{--tw-gradient-to: #036672 var(--tw-gradient-to-position)}.to-transparent{--tw-gradient-to: transparent var(--tw-gradient-to-position)}.to-yellow-200{--tw-gradient-to: #FCE96A var(--tw-gradient-to-position)}.to-100\%{--tw-gradient-to-position: 100%}.fill-blue-600{fill:#1c64f2}.fill-gray-300{fill:#d1d5db}.fill-gray-600{fill:#4b5563}.fill-green-500{fill:#0e9f6e}.fill-pink-600{fill:#d61f69}.fill-purple-600{fill:#7e3af2}.fill-red-600{fill:#e02424}.fill-secondary{fill:var(--color-secondary)}.fill-white{fill:#fff}.fill-yellow-400{fill:#e3a008}.object-cover{-o-object-fit:cover;object-fit:cover}.object-fill{-o-object-fit:fill;object-fit:fill}.p-0{padding:0}.p-0\.5{padding:.125rem}.p-1{padding:.25rem}.p-1\.5{padding:.375rem}.p-10{padding:2.5rem}.p-2{padding:.5rem}.p-2\.5{padding:.625rem}.p-3{padding:.75rem}.p-4{padding:1rem}.p-5{padding:1.25rem}.p-6{padding:1.5rem}.p-8{padding:2rem}.px-0{padding-left:0;padding-right:0}.px-1{padding-left:.25rem;padding-right:.25rem}.px-2{padding-left:.5rem;padding-right:.5rem}.px-2\.5{padding-left:.625rem;padding-right:.625rem}.px-3{padding-left:.75rem;padding-right:.75rem}.px-4{padding-left:1rem;padding-right:1rem}.px-5{padding-left:1.25rem;padding-right:1.25rem}.px-6{padding-left:1.5rem;padding-right:1.5rem}.py-0{padding-top:0;padding-bottom:0}.py-0\.5{padding-top:.125rem;padding-bottom:.125rem}.py-1{padding-top:.25rem;padding-bottom:.25rem}.py-1\.5{padding-top:.375rem;padding-bottom:.375rem}.py-2{padding-top:.5rem;padding-bottom:.5rem}.py-2\.5{padding-top:.625rem;padding-bottom:.625rem}.py-3{padding-top:.75rem;padding-bottom:.75rem}.py-4{padding-top:1rem;padding-bottom:1rem}.pb-0{padding-bottom:0}.pb-2{padding-bottom:.5rem}.pb-4{padding-bottom:1rem}.pb-5{padding-bottom:1.25rem}.pb-6{padding-bottom:1.5rem}.pl-10{padding-left:2.5rem}.pl-2{padding-left:.5rem}.pl-3{padding-left:.75rem}.pl-4{padding-left:1rem}.pr-10{padding-right:2.5rem}.pr-2{padding-right:.5rem}.pr-3{padding-right:.75rem}.pr-4{padding-right:1rem}.pt-0{padding-top:0}.pt-16{padding-top:4rem}.pt-2{padding-top:.5rem}.pt-24{padding-top:6rem}.pt-4{padding-top:1rem}.text-left{text-align:left}.text-center{text-align:center}.text-right{text-align:right}.align-middle{vertical-align:middle}.align-bottom{vertical-align:bottom}.font-sans{font-family:PTSans,Roboto,sans-serif}.text-2xl{font-size:1.5rem;line-height:2rem}.text-4xl{font-size:2.25rem;line-height:2.5rem}.text-5xl{font-size:3rem;line-height:1}.text-\[\.82rem\]{font-size:.82rem}.text-base{font-size:1rem;line-height:1.5rem}.text-lg{font-size:1.125rem;line-height:1.75rem}.text-sm{font-size:.875rem;line-height:1.25rem}.text-xl{font-size:1.25rem;line-height:1.75rem}.text-xs{font-size:.75rem;line-height:1rem}.font-bold{font-weight:700}.font-medium{font-weight:500}.font-normal{font-weight:400}.font-semibold{font-weight:600}.font-thin{font-weight:100}.uppercase{text-transform:uppercase}.leading-4{line-height:1rem}.leading-6{line-height:1.5rem}.leading-9{line-height:2.25rem}.leading-none{line-height:1}.leading-tight{line-height:1.25}.text-black{--tw-text-opacity: 1;color:rgb(0 0 0 / var(--tw-text-opacity))}.text-blue-100{--tw-text-opacity: 1;color:rgb(225 239 254 / var(--tw-text-opacity))}.text-blue-500{--tw-text-opacity: 1;color:rgb(63 131 248 / var(--tw-text-opacity))}.text-blue-600{--tw-text-opacity: 1;color:rgb(28 100 242 / var(--tw-text-opacity))}.text-blue-700{--tw-text-opacity: 1;color:rgb(26 86 219 / var(--tw-text-opacity))}.text-blue-800{--tw-text-opacity: 1;color:rgb(30 66 159 / var(--tw-text-opacity))}.text-dark-text-panel{color:var(--color-dark-text-panel)}.text-gray-100{--tw-text-opacity: 1;color:rgb(243 244 246 / var(--tw-text-opacity))}.text-gray-200{--tw-text-opacity: 1;color:rgb(229 231 235 / var(--tw-text-opacity))}.text-gray-300{--tw-text-opacity: 1;color:rgb(209 213 219 / var(--tw-text-opacity))}.text-gray-400{--tw-text-opacity: 1;color:rgb(156 163 175 / var(--tw-text-opacity))}.text-gray-500{--tw-text-opacity: 1;color:rgb(107 114 128 / var(--tw-text-opacity))}.text-gray-600{--tw-text-opacity: 1;color:rgb(75 85 99 / var(--tw-text-opacity))}.text-gray-700{--tw-text-opacity: 1;color:rgb(55 65 81 / var(--tw-text-opacity))}.text-gray-800{--tw-text-opacity: 1;color:rgb(31 41 55 / var(--tw-text-opacity))}.text-gray-900{--tw-text-opacity: 1;color:rgb(17 24 39 / var(--tw-text-opacity))}.text-green-200{--tw-text-opacity: 1;color:rgb(188 240 218 / var(--tw-text-opacity))}.text-green-500{--tw-text-opacity: 1;color:rgb(14 159 110 / var(--tw-text-opacity))}.text-green-600{--tw-text-opacity: 1;color:rgb(5 122 85 / var(--tw-text-opacity))}.text-green-700{--tw-text-opacity: 1;color:rgb(4 108 78 / var(--tw-text-opacity))}.text-green-800{--tw-text-opacity: 1;color:rgb(3 84 63 / var(--tw-text-opacity))}.text-green-900{--tw-text-opacity: 1;color:rgb(1 71 55 / var(--tw-text-opacity))}.text-indigo-500{--tw-text-opacity: 1;color:rgb(104 117 245 / var(--tw-text-opacity))}.text-indigo-700{--tw-text-opacity: 1;color:rgb(81 69 205 / var(--tw-text-opacity))}.text-indigo-800{--tw-text-opacity: 1;color:rgb(66 56 157 / var(--tw-text-opacity))}.text-indigo-900{--tw-text-opacity: 1;color:rgb(54 47 120 / var(--tw-text-opacity))}.text-light-text-panel{color:var(--color-light-text-panel)}.text-orange-200{--tw-text-opacity: 1;color:rgb(252 217 189 / var(--tw-text-opacity))}.text-orange-500{--tw-text-opacity: 1;color:rgb(255 90 31 / var(--tw-text-opacity))}.text-pink-500{--tw-text-opacity: 1;color:rgb(231 70 148 / var(--tw-text-opacity))}.text-pink-600{--tw-text-opacity: 1;color:rgb(214 31 105 / var(--tw-text-opacity))}.text-pink-700{--tw-text-opacity: 1;color:rgb(191 18 93 / var(--tw-text-opacity))}.text-pink-800{--tw-text-opacity: 1;color:rgb(153 21 75 / var(--tw-text-opacity))}.text-pink-900{--tw-text-opacity: 1;color:rgb(117 26 61 / var(--tw-text-opacity))}.text-purple-500{--tw-text-opacity: 1;color:rgb(144 97 249 / var(--tw-text-opacity))}.text-purple-600{--tw-text-opacity: 1;color:rgb(126 58 242 / var(--tw-text-opacity))}.text-purple-700{--tw-text-opacity: 1;color:rgb(108 43 217 / var(--tw-text-opacity))}.text-purple-800{--tw-text-opacity: 1;color:rgb(85 33 181 / var(--tw-text-opacity))}.text-purple-900{--tw-text-opacity: 1;color:rgb(74 29 150 / var(--tw-text-opacity))}.text-red-200{--tw-text-opacity: 1;color:rgb(251 213 213 / var(--tw-text-opacity))}.text-red-400{--tw-text-opacity: 1;color:rgb(249 128 128 / var(--tw-text-opacity))}.text-red-500{--tw-text-opacity: 1;color:rgb(240 82 82 / var(--tw-text-opacity))}.text-red-600{--tw-text-opacity: 1;color:rgb(224 36 36 / var(--tw-text-opacity))}.text-red-700{--tw-text-opacity: 1;color:rgb(200 30 30 / var(--tw-text-opacity))}.text-red-800{--tw-text-opacity: 1;color:rgb(155 28 28 / var(--tw-text-opacity))}.text-red-900{--tw-text-opacity: 1;color:rgb(119 29 29 / var(--tw-text-opacity))}.text-secondary{color:var(--color-secondary)}.text-slate-50{--tw-text-opacity: 1;color:rgb(248 250 252 / var(--tw-text-opacity))}.text-slate-950{--tw-text-opacity: 1;color:rgb(2 6 23 / var(--tw-text-opacity))}.text-white{--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity))}.text-yellow-400{--tw-text-opacity: 1;color:rgb(227 160 8 / var(--tw-text-opacity))}.text-yellow-500{--tw-text-opacity: 1;color:rgb(194 120 3 / var(--tw-text-opacity))}.text-yellow-700{--tw-text-opacity: 1;color:rgb(142 75 16 / var(--tw-text-opacity))}.text-yellow-800{--tw-text-opacity: 1;color:rgb(114 59 19 / var(--tw-text-opacity))}.text-yellow-900{--tw-text-opacity: 1;color:rgb(99 49 18 / var(--tw-text-opacity))}.text-opacity-95{--tw-text-opacity: .95}.underline{text-decoration-line:underline}.opacity-0{opacity:0}.opacity-100{opacity:1}.opacity-20{opacity:.2}.opacity-30{opacity:.3}.opacity-50{opacity:.5}.opacity-80{opacity:.8}.shadow{--tw-shadow: 0 1px 3px 0 rgb(0 0 0 / .1), 0 1px 2px -1px rgb(0 0 0 / .1);--tw-shadow-colored: 0 1px 3px 0 var(--tw-shadow-color), 0 1px 2px -1px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-inner{--tw-shadow: inset 0 2px 4px 0 rgb(0 0 0 / .05);--tw-shadow-colored: inset 0 2px 4px 0 var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-lg{--tw-shadow: 0 10px 15px -3px rgb(0 0 0 / .1), 0 4px 6px -4px rgb(0 0 0 / .1);--tw-shadow-colored: 0 10px 15px -3px var(--tw-shadow-color), 0 4px 6px -4px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-md{--tw-shadow: 0 4px 6px -1px rgb(0 0 0 / .1), 0 2px 4px -2px rgb(0 0 0 / .1);--tw-shadow-colored: 0 4px 6px -1px var(--tw-shadow-color), 0 2px 4px -2px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-sm{--tw-shadow: 0 1px 2px 0 rgb(0 0 0 / .05);--tw-shadow-colored: 0 1px 2px 0 var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-blue-500\/50{--tw-shadow-color: rgb(63 131 248 / .5);--tw-shadow: var(--tw-shadow-colored)}.shadow-blue-800\/80{--tw-shadow-color: rgb(30 66 159 / .8);--tw-shadow: var(--tw-shadow-colored)}.shadow-cyan-500\/50{--tw-shadow-color: rgb(6 182 212 / .5);--tw-shadow: var(--tw-shadow-colored)}.shadow-cyan-800\/80{--tw-shadow-color: rgb(21 94 117 / .8);--tw-shadow: var(--tw-shadow-colored)}.shadow-green-500\/50{--tw-shadow-color: rgb(14 159 110 / .5);--tw-shadow: var(--tw-shadow-colored)}.shadow-green-800\/80{--tw-shadow-color: rgb(3 84 63 / .8);--tw-shadow: var(--tw-shadow-colored)}.shadow-lime-500\/50{--tw-shadow-color: rgb(132 204 22 / .5);--tw-shadow: var(--tw-shadow-colored)}.shadow-lime-800\/80{--tw-shadow-color: rgb(63 98 18 / .8);--tw-shadow: var(--tw-shadow-colored)}.shadow-pink-500\/50{--tw-shadow-color: rgb(231 70 148 / .5);--tw-shadow: var(--tw-shadow-colored)}.shadow-pink-800\/80{--tw-shadow-color: rgb(153 21 75 / .8);--tw-shadow: var(--tw-shadow-colored)}.shadow-purple-500\/50{--tw-shadow-color: rgb(144 97 249 / .5);--tw-shadow: var(--tw-shadow-colored)}.shadow-purple-800\/80{--tw-shadow-color: rgb(85 33 181 / .8);--tw-shadow: var(--tw-shadow-colored)}.shadow-red-500\/50{--tw-shadow-color: rgb(240 82 82 / .5);--tw-shadow: var(--tw-shadow-colored)}.shadow-red-800\/80{--tw-shadow-color: rgb(155 28 28 / .8);--tw-shadow: var(--tw-shadow-colored)}.shadow-teal-500\/50{--tw-shadow-color: rgb(6 148 162 / .5);--tw-shadow: var(--tw-shadow-colored)}.outline-none{outline:2px solid transparent;outline-offset:2px}.outline{outline-style:solid}.ring-2{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.ring-blue-800{--tw-ring-opacity: 1;--tw-ring-color: rgb(30 66 159 / var(--tw-ring-opacity))}.ring-cyan-800{--tw-ring-opacity: 1;--tw-ring-color: rgb(21 94 117 / var(--tw-ring-opacity))}.ring-gray-300{--tw-ring-opacity: 1;--tw-ring-color: rgb(209 213 219 / var(--tw-ring-opacity))}.ring-gray-600{--tw-ring-opacity: 1;--tw-ring-color: rgb(75 85 99 / var(--tw-ring-opacity))}.ring-gray-800{--tw-ring-opacity: 1;--tw-ring-color: rgb(31 41 55 / var(--tw-ring-opacity))}.ring-green-800{--tw-ring-opacity: 1;--tw-ring-color: rgb(3 84 63 / var(--tw-ring-opacity))}.ring-pink-800{--tw-ring-opacity: 1;--tw-ring-color: rgb(153 21 75 / var(--tw-ring-opacity))}.ring-pink-900{--tw-ring-opacity: 1;--tw-ring-color: rgb(117 26 61 / var(--tw-ring-opacity))}.ring-purple-800{--tw-ring-opacity: 1;--tw-ring-color: rgb(85 33 181 / var(--tw-ring-opacity))}.ring-purple-900{--tw-ring-opacity: 1;--tw-ring-color: rgb(74 29 150 / var(--tw-ring-opacity))}.ring-red-400{--tw-ring-opacity: 1;--tw-ring-color: rgb(249 128 128 / var(--tw-ring-opacity))}.ring-red-900{--tw-ring-opacity: 1;--tw-ring-color: rgb(119 29 29 / var(--tw-ring-opacity))}.blur{--tw-blur: blur(8px);filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.drop-shadow-md{--tw-drop-shadow: drop-shadow(0 4px 3px rgb(0 0 0 / .07)) drop-shadow(0 2px 2px rgb(0 0 0 / .06));filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.drop-shadow-sm{--tw-drop-shadow: drop-shadow(0 1px 1px rgb(0 0 0 / .05));filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.grayscale{--tw-grayscale: grayscale(100%);filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.backdrop-blur-md{--tw-backdrop-blur: blur(12px);-webkit-backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}.backdrop-blur-sm{--tw-backdrop-blur: blur(4px);-webkit-backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}.transition{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,-webkit-backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter,-webkit-backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-all{transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-colors{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-opacity{transition-property:opacity;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-transform{transition-property:transform;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.duration-150{transition-duration:.15s}.duration-200{transition-duration:.2s}.duration-300{transition-duration:.3s}.duration-75{transition-duration:75ms}.ease-in{transition-timing-function:cubic-bezier(.4,0,1,1)}.ease-in-out{transition-timing-function:cubic-bezier(.4,0,.2,1)}.ease-out{transition-timing-function:cubic-bezier(0,0,.2,1)}.scrollbar-thin{scrollbar-color:var(--scrollbar-thumb, initial) var(--scrollbar-track, initial)}.scrollbar-thin::-webkit-scrollbar-track{background-color:var(--scrollbar-track);border-radius:var(--scrollbar-track-radius)}.scrollbar-thin::-webkit-scrollbar-track:hover{background-color:var(--scrollbar-track-hover, var(--scrollbar-track))}.scrollbar-thin::-webkit-scrollbar-track:active{background-color:var(--scrollbar-track-active, var(--scrollbar-track-hover, var(--scrollbar-track)))}.scrollbar-thin::-webkit-scrollbar-thumb{background-color:var(--scrollbar-thumb);border-radius:var(--scrollbar-thumb-radius)}.scrollbar-thin::-webkit-scrollbar-thumb:hover{background-color:var(--scrollbar-thumb-hover, var(--scrollbar-thumb))}.scrollbar-thin::-webkit-scrollbar-thumb:active{background-color:var(--scrollbar-thumb-active, var(--scrollbar-thumb-hover, var(--scrollbar-thumb)))}.scrollbar-thin::-webkit-scrollbar-corner{background-color:var(--scrollbar-corner);border-radius:var(--scrollbar-corner-radius)}.scrollbar-thin::-webkit-scrollbar-corner:hover{background-color:var(--scrollbar-corner-hover, var(--scrollbar-corner))}.scrollbar-thin::-webkit-scrollbar-corner:active{background-color:var(--scrollbar-corner-active, var(--scrollbar-corner-hover, var(--scrollbar-corner)))}.scrollbar-thin{scrollbar-width:thin}.scrollbar-thin::-webkit-scrollbar{display:block;width:8px;height:8px}.scrollbar-track-bg-light{--scrollbar-track: var(--color-bg-light) !important}.scrollbar-track-bg-light-tone{--scrollbar-track: var(--color-bg-light-tone) !important}.scrollbar-thumb-bg-light-tone{--scrollbar-thumb: var(--color-bg-light-tone) !important}.scrollbar-thumb-bg-light-tone-panel{--scrollbar-thumb: var(--color-bg-light-tone-panel) !important}.no-scrollbar::-webkit-scrollbar{display:none}.no-scrollbar{-ms-overflow-style:none;scrollbar-width:none}.display-none{display:none}h1{font-size:36px;font-weight:700}h2{font-size:24px;font-weight:700}h3{font-size:18px;font-weight:700}h4{font-size:18px;font-style:italic}p{font-size:16px;word-wrap:break-word;overflow-wrap:break-word;white-space:normal}ul{list-style-type:disc;margin-left:0}li{list-style-type:disc;margin-left:20px}ol{list-style-type:decimal;margin-left:20px}:root{--color-primary: #0e8ef0;--color-primary-light: #3dabff;--color-secondary: #0fd974;--color-accent: #f0700e;--color-light-text-panel: #ffffff;--color-dark-text-panel: #ffffff;--color-bg-light-panel: #7cb5ec;--color-bg-light: #e2edff;--color-bg-light-tone: #b9d2f7;--color-bg-light-code-block: #cad7ed;--color-bg-light-tone-panel: #8fb5ef;--color-bg-light-discussion: #c5d8f8;--color-bg-light-discussion-odd: #d6e7ff;--color-bg-dark: #132e59;--color-bg-dark-tone: #25477d;--color-bg-dark-tone-panel: #4367a3;--color-bg-dark-code-block: #2254a7;--color-bg-dark-discussion: #435E8A;--color-bg-dark-discussion-odd: #284471}.last\:mb-0:last-child{margin-bottom:0}.last\:\!border-transparent:last-child{border-color:transparent!important}.last\:pb-0:last-child{padding-bottom:0}.odd\:bg-bg-light-tone:nth-child(odd){background-color:var(--color-bg-light-tone)}.even\:bg-bg-light-discussion-odd:nth-child(2n){background-color:var(--color-bg-light-discussion-odd)}.even\:bg-bg-light-tone-panel:nth-child(2n){background-color:var(--color-bg-light-tone-panel)}.group:hover .group-hover\:visible{visibility:visible}.group:hover .group-hover\:bottom-0{bottom:0}.group:hover .group-hover\:block{display:block}.group:hover .group-hover\:-translate-x-12{--tw-translate-x: -3rem;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.group:hover .group-hover\:-translate-x-8{--tw-translate-x: -2rem;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.group:hover .group-hover\:-translate-y-8{--tw-translate-y: -2rem;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.group:hover .group-hover\:translate-x-5{--tw-translate-x: 1.25rem;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.group:hover .group-hover\:translate-x-\[0px\]{--tw-translate-x: 0px;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.group:hover .group-hover\:translate-y-\[-50px\]{--tw-translate-y: -50px;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.group:hover .group-hover\:border-secondary{border-color:var(--color-secondary)}.group:hover .group-hover\:bg-white\/50{background-color:#ffffff80}.group:hover .group-hover\:bg-opacity-0{--tw-bg-opacity: 0}.group:hover .group-hover\:from-cyan-500{--tw-gradient-from: #06b6d4 var(--tw-gradient-from-position);--tw-gradient-to: rgb(6 182 212 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.group:hover .group-hover\:from-green-400{--tw-gradient-from: #31C48D var(--tw-gradient-from-position);--tw-gradient-to: rgb(49 196 141 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.group:hover .group-hover\:from-pink-500{--tw-gradient-from: #E74694 var(--tw-gradient-from-position);--tw-gradient-to: rgb(231 70 148 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.group:hover .group-hover\:from-purple-500{--tw-gradient-from: #9061F9 var(--tw-gradient-from-position);--tw-gradient-to: rgb(144 97 249 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.group:hover .group-hover\:from-purple-600{--tw-gradient-from: #7E3AF2 var(--tw-gradient-from-position);--tw-gradient-to: rgb(126 58 242 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.group:hover .group-hover\:from-red-200{--tw-gradient-from: #FBD5D5 var(--tw-gradient-from-position);--tw-gradient-to: rgb(251 213 213 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.group:hover .group-hover\:from-teal-300{--tw-gradient-from: #7EDCE2 var(--tw-gradient-from-position);--tw-gradient-to: rgb(126 220 226 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.group:hover .group-hover\:via-red-300{--tw-gradient-to: rgb(248 180 180 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), #F8B4B4 var(--tw-gradient-via-position), var(--tw-gradient-to)}.group:hover .group-hover\:to-blue-500{--tw-gradient-to: #3F83F8 var(--tw-gradient-to-position)}.group:hover .group-hover\:to-blue-600{--tw-gradient-to: #1C64F2 var(--tw-gradient-to-position)}.group:hover .group-hover\:to-lime-300{--tw-gradient-to: #bef264 var(--tw-gradient-to-position)}.group:hover .group-hover\:to-orange-400{--tw-gradient-to: #FF8A4C var(--tw-gradient-to-position)}.group:hover .group-hover\:to-pink-500{--tw-gradient-to: #E74694 var(--tw-gradient-to-position)}.group:hover .group-hover\:to-yellow-200{--tw-gradient-to: #FCE96A var(--tw-gradient-to-position)}.group:hover .group-hover\:text-gray-900{--tw-text-opacity: 1;color:rgb(17 24 39 / var(--tw-text-opacity))}.group:hover .group-hover\:text-yellow-400{--tw-text-opacity: 1;color:rgb(227 160 8 / var(--tw-text-opacity))}.group:hover .group-hover\:opacity-100{opacity:1}.group:focus .group-focus\:outline-none{outline:2px solid transparent;outline-offset:2px}.group:focus .group-focus\:ring-4{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(4px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.group:focus .group-focus\:ring-white{--tw-ring-opacity: 1;--tw-ring-color: rgb(255 255 255 / var(--tw-ring-opacity))}.peer:checked~.peer-checked\:text-primary{color:var(--color-primary)}.hover\:z-10:hover{z-index:10}.hover\:z-20:hover{z-index:20}.hover\:z-50:hover{z-index:50}.hover\:h-8:hover{height:2rem}.hover\:-translate-y-1:hover{--tw-translate-y: -.25rem;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.hover\:-translate-y-2:hover{--tw-translate-y: -.5rem;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.hover\:-translate-y-8:hover{--tw-translate-y: -2rem;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.hover\:translate-y-\[-5px\]:hover{--tw-translate-y: -5px;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.hover\:scale-110:hover{--tw-scale-x: 1.1;--tw-scale-y: 1.1;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.hover\:scale-150:hover{--tw-scale-x: 1.5;--tw-scale-y: 1.5;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.hover\:scale-95:hover{--tw-scale-x: .95;--tw-scale-y: .95;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.hover\:border-2:hover{border-width:2px}.hover\:border-solid:hover{border-style:solid}.hover\:border-gray-300:hover{--tw-border-opacity: 1;border-color:rgb(209 213 219 / var(--tw-border-opacity))}.hover\:border-gray-600:hover{--tw-border-opacity: 1;border-color:rgb(75 85 99 / var(--tw-border-opacity))}.hover\:border-green-200:hover{--tw-border-opacity: 1;border-color:rgb(188 240 218 / var(--tw-border-opacity))}.hover\:border-primary:hover{border-color:var(--color-primary)}.hover\:border-primary-light:hover{border-color:var(--color-primary-light)}.hover\:border-secondary:hover{border-color:var(--color-secondary)}.hover\:bg-accent:hover{background-color:var(--color-accent)}.hover\:bg-bg-light-tone:hover{background-color:var(--color-bg-light-tone)}.hover\:bg-bg-light-tone-panel:hover{background-color:var(--color-bg-light-tone-panel)}.hover\:bg-blue-100:hover{--tw-bg-opacity: 1;background-color:rgb(225 239 254 / var(--tw-bg-opacity))}.hover\:bg-blue-200:hover{--tw-bg-opacity: 1;background-color:rgb(195 221 253 / var(--tw-bg-opacity))}.hover\:bg-blue-300:hover{--tw-bg-opacity: 1;background-color:rgb(164 202 254 / var(--tw-bg-opacity))}.hover\:bg-blue-400:hover{--tw-bg-opacity: 1;background-color:rgb(118 169 250 / var(--tw-bg-opacity))}.hover\:bg-blue-500:hover{--tw-bg-opacity: 1;background-color:rgb(63 131 248 / var(--tw-bg-opacity))}.hover\:bg-blue-600:hover{--tw-bg-opacity: 1;background-color:rgb(28 100 242 / var(--tw-bg-opacity))}.hover\:bg-blue-700:hover{--tw-bg-opacity: 1;background-color:rgb(26 86 219 / var(--tw-bg-opacity))}.hover\:bg-blue-800:hover{--tw-bg-opacity: 1;background-color:rgb(30 66 159 / var(--tw-bg-opacity))}.hover\:bg-gray-100:hover{--tw-bg-opacity: 1;background-color:rgb(243 244 246 / var(--tw-bg-opacity))}.hover\:bg-gray-200:hover{--tw-bg-opacity: 1;background-color:rgb(229 231 235 / var(--tw-bg-opacity))}.hover\:bg-gray-50:hover{--tw-bg-opacity: 1;background-color:rgb(249 250 251 / var(--tw-bg-opacity))}.hover\:bg-gray-600:hover{--tw-bg-opacity: 1;background-color:rgb(75 85 99 / var(--tw-bg-opacity))}.hover\:bg-gray-900:hover{--tw-bg-opacity: 1;background-color:rgb(17 24 39 / var(--tw-bg-opacity))}.hover\:bg-green-200:hover{--tw-bg-opacity: 1;background-color:rgb(188 240 218 / var(--tw-bg-opacity))}.hover\:bg-green-300:hover{--tw-bg-opacity: 1;background-color:rgb(132 225 188 / var(--tw-bg-opacity))}.hover\:bg-green-700:hover{--tw-bg-opacity: 1;background-color:rgb(4 108 78 / var(--tw-bg-opacity))}.hover\:bg-green-800:hover{--tw-bg-opacity: 1;background-color:rgb(3 84 63 / var(--tw-bg-opacity))}.hover\:bg-pink-800:hover{--tw-bg-opacity: 1;background-color:rgb(153 21 75 / var(--tw-bg-opacity))}.hover\:bg-primary:hover{background-color:var(--color-primary)}.hover\:bg-primary-light:hover{background-color:var(--color-primary-light)}.hover\:bg-purple-800:hover{--tw-bg-opacity: 1;background-color:rgb(85 33 181 / var(--tw-bg-opacity))}.hover\:bg-red-200:hover{--tw-bg-opacity: 1;background-color:rgb(251 213 213 / var(--tw-bg-opacity))}.hover\:bg-red-300:hover{--tw-bg-opacity: 1;background-color:rgb(248 180 180 / var(--tw-bg-opacity))}.hover\:bg-red-600:hover{--tw-bg-opacity: 1;background-color:rgb(224 36 36 / var(--tw-bg-opacity))}.hover\:bg-red-700:hover{--tw-bg-opacity: 1;background-color:rgb(200 30 30 / var(--tw-bg-opacity))}.hover\:bg-red-800:hover{--tw-bg-opacity: 1;background-color:rgb(155 28 28 / var(--tw-bg-opacity))}.hover\:bg-secondary:hover{background-color:var(--color-secondary)}.hover\:bg-white:hover{--tw-bg-opacity: 1;background-color:rgb(255 255 255 / var(--tw-bg-opacity))}.hover\:bg-yellow-200:hover{--tw-bg-opacity: 1;background-color:rgb(252 233 106 / var(--tw-bg-opacity))}.hover\:bg-yellow-500:hover{--tw-bg-opacity: 1;background-color:rgb(194 120 3 / var(--tw-bg-opacity))}.hover\:bg-opacity-20:hover{--tw-bg-opacity: .2}.hover\:bg-gradient-to-bl:hover{background-image:linear-gradient(to bottom left,var(--tw-gradient-stops))}.hover\:bg-gradient-to-br:hover{background-image:linear-gradient(to bottom right,var(--tw-gradient-stops))}.hover\:bg-gradient-to-l:hover{background-image:linear-gradient(to left,var(--tw-gradient-stops))}.hover\:from-teal-200:hover{--tw-gradient-from: #AFECEF var(--tw-gradient-from-position);--tw-gradient-to: rgb(175 236 239 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.hover\:to-lime-200:hover{--tw-gradient-to: #d9f99d var(--tw-gradient-to-position)}.hover\:fill-primary:hover{fill:var(--color-primary)}.hover\:text-blue-600:hover{--tw-text-opacity: 1;color:rgb(28 100 242 / var(--tw-text-opacity))}.hover\:text-blue-700:hover{--tw-text-opacity: 1;color:rgb(26 86 219 / var(--tw-text-opacity))}.hover\:text-gray-600:hover{--tw-text-opacity: 1;color:rgb(75 85 99 / var(--tw-text-opacity))}.hover\:text-gray-700:hover{--tw-text-opacity: 1;color:rgb(55 65 81 / var(--tw-text-opacity))}.hover\:text-gray-900:hover{--tw-text-opacity: 1;color:rgb(17 24 39 / var(--tw-text-opacity))}.hover\:text-green-300:hover{--tw-text-opacity: 1;color:rgb(132 225 188 / var(--tw-text-opacity))}.hover\:text-green-500:hover{--tw-text-opacity: 1;color:rgb(14 159 110 / var(--tw-text-opacity))}.hover\:text-primary:hover{color:var(--color-primary)}.hover\:text-red-300:hover{--tw-text-opacity: 1;color:rgb(248 180 180 / var(--tw-text-opacity))}.hover\:text-red-500:hover{--tw-text-opacity: 1;color:rgb(240 82 82 / var(--tw-text-opacity))}.hover\:text-red-600:hover{--tw-text-opacity: 1;color:rgb(224 36 36 / var(--tw-text-opacity))}.hover\:text-secondary:hover{color:var(--color-secondary)}.hover\:text-white:hover{--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity))}.hover\:underline:hover{text-decoration-line:underline}.hover\:no-underline:hover{text-decoration-line:none}.hover\:shadow-md:hover{--tw-shadow: 0 4px 6px -1px rgb(0 0 0 / .1), 0 2px 4px -2px rgb(0 0 0 / .1);--tw-shadow-colored: 0 4px 6px -1px var(--tw-shadow-color), 0 2px 4px -2px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.hover\:shadow-none:hover{--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.hover\:shadow-xl:hover{--tw-shadow: 0 20px 25px -5px rgb(0 0 0 / .1), 0 8px 10px -6px rgb(0 0 0 / .1);--tw-shadow-colored: 0 20px 25px -5px var(--tw-shadow-color), 0 8px 10px -6px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.hover\:scrollbar-thumb-primary{--scrollbar-thumb-hover: var(--color-primary) !important}.focus\:z-10:focus{z-index:10}.focus\:border-blue-300:focus{--tw-border-opacity: 1;border-color:rgb(164 202 254 / var(--tw-border-opacity))}.focus\:border-blue-500:focus{--tw-border-opacity: 1;border-color:rgb(63 131 248 / var(--tw-border-opacity))}.focus\:border-secondary:focus{border-color:var(--color-secondary)}.focus\:text-blue-700:focus{--tw-text-opacity: 1;color:rgb(26 86 219 / var(--tw-text-opacity))}.focus\:outline-none:focus{outline:2px solid transparent;outline-offset:2px}.focus\:ring:focus{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.focus\:ring-2:focus{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.focus\:ring-4:focus{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(4px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.focus\:ring-blue-200:focus{--tw-ring-opacity: 1;--tw-ring-color: rgb(195 221 253 / var(--tw-ring-opacity))}.focus\:ring-blue-300:focus{--tw-ring-opacity: 1;--tw-ring-color: rgb(164 202 254 / var(--tw-ring-opacity))}.focus\:ring-blue-400:focus{--tw-ring-opacity: 1;--tw-ring-color: rgb(118 169 250 / var(--tw-ring-opacity))}.focus\:ring-blue-500:focus{--tw-ring-opacity: 1;--tw-ring-color: rgb(63 131 248 / var(--tw-ring-opacity))}.focus\:ring-blue-700:focus{--tw-ring-opacity: 1;--tw-ring-color: rgb(26 86 219 / var(--tw-ring-opacity))}.focus\:ring-cyan-200:focus{--tw-ring-opacity: 1;--tw-ring-color: rgb(165 243 252 / var(--tw-ring-opacity))}.focus\:ring-cyan-300:focus{--tw-ring-opacity: 1;--tw-ring-color: rgb(103 232 249 / var(--tw-ring-opacity))}.focus\:ring-gray-200:focus{--tw-ring-opacity: 1;--tw-ring-color: rgb(229 231 235 / var(--tw-ring-opacity))}.focus\:ring-gray-300:focus{--tw-ring-opacity: 1;--tw-ring-color: rgb(209 213 219 / var(--tw-ring-opacity))}.focus\:ring-gray-400:focus{--tw-ring-opacity: 1;--tw-ring-color: rgb(156 163 175 / var(--tw-ring-opacity))}.focus\:ring-green-200:focus{--tw-ring-opacity: 1;--tw-ring-color: rgb(188 240 218 / var(--tw-ring-opacity))}.focus\:ring-green-300:focus{--tw-ring-opacity: 1;--tw-ring-color: rgb(132 225 188 / var(--tw-ring-opacity))}.focus\:ring-green-400:focus{--tw-ring-opacity: 1;--tw-ring-color: rgb(49 196 141 / var(--tw-ring-opacity))}.focus\:ring-lime-200:focus{--tw-ring-opacity: 1;--tw-ring-color: rgb(217 249 157 / var(--tw-ring-opacity))}.focus\:ring-lime-300:focus{--tw-ring-opacity: 1;--tw-ring-color: rgb(190 242 100 / var(--tw-ring-opacity))}.focus\:ring-pink-200:focus{--tw-ring-opacity: 1;--tw-ring-color: rgb(250 209 232 / var(--tw-ring-opacity))}.focus\:ring-pink-300:focus{--tw-ring-opacity: 1;--tw-ring-color: rgb(248 180 217 / var(--tw-ring-opacity))}.focus\:ring-purple-200:focus{--tw-ring-opacity: 1;--tw-ring-color: rgb(220 215 254 / var(--tw-ring-opacity))}.focus\:ring-purple-300:focus{--tw-ring-opacity: 1;--tw-ring-color: rgb(202 191 253 / var(--tw-ring-opacity))}.focus\:ring-red-100:focus{--tw-ring-opacity: 1;--tw-ring-color: rgb(253 232 232 / var(--tw-ring-opacity))}.focus\:ring-red-300:focus{--tw-ring-opacity: 1;--tw-ring-color: rgb(248 180 180 / var(--tw-ring-opacity))}.focus\:ring-red-400:focus{--tw-ring-opacity: 1;--tw-ring-color: rgb(249 128 128 / var(--tw-ring-opacity))}.focus\:ring-red-500:focus{--tw-ring-opacity: 1;--tw-ring-color: rgb(240 82 82 / var(--tw-ring-opacity))}.focus\:ring-secondary:focus{--tw-ring-color: var(--color-secondary)}.focus\:ring-teal-300:focus{--tw-ring-opacity: 1;--tw-ring-color: rgb(126 220 226 / var(--tw-ring-opacity))}.focus\:ring-yellow-300:focus{--tw-ring-opacity: 1;--tw-ring-color: rgb(250 202 21 / var(--tw-ring-opacity))}.focus\:ring-yellow-400:focus{--tw-ring-opacity: 1;--tw-ring-color: rgb(227 160 8 / var(--tw-ring-opacity))}.focus\:ring-opacity-50:focus{--tw-ring-opacity: .5}.active\:scale-75:active{--tw-scale-x: .75;--tw-scale-y: .75;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.active\:scale-90:active{--tw-scale-x: .9;--tw-scale-y: .9;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.active\:scale-95:active{--tw-scale-x: .95;--tw-scale-y: .95;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.active\:scrollbar-thumb-secondary{--scrollbar-thumb-active: var(--color-secondary) !important}:is(.dark .dark\:divide-gray-700)>:not([hidden])~:not([hidden]){--tw-divide-opacity: 1;border-color:rgb(55 65 81 / var(--tw-divide-opacity))}:is(.dark .dark\:border-bg-light){border-color:var(--color-bg-light)}:is(.dark .dark\:border-blue-500){--tw-border-opacity: 1;border-color:rgb(63 131 248 / var(--tw-border-opacity))}:is(.dark .dark\:border-gray-500){--tw-border-opacity: 1;border-color:rgb(107 114 128 / var(--tw-border-opacity))}:is(.dark .dark\:border-gray-600){--tw-border-opacity: 1;border-color:rgb(75 85 99 / var(--tw-border-opacity))}:is(.dark .dark\:border-gray-700){--tw-border-opacity: 1;border-color:rgb(55 65 81 / var(--tw-border-opacity))}:is(.dark .dark\:border-gray-800){--tw-border-opacity: 1;border-color:rgb(31 41 55 / var(--tw-border-opacity))}:is(.dark .dark\:border-gray-900){--tw-border-opacity: 1;border-color:rgb(17 24 39 / var(--tw-border-opacity))}:is(.dark .dark\:border-green-500){--tw-border-opacity: 1;border-color:rgb(14 159 110 / var(--tw-border-opacity))}:is(.dark .dark\:border-pink-400){--tw-border-opacity: 1;border-color:rgb(241 126 184 / var(--tw-border-opacity))}:is(.dark .dark\:border-pink-500){--tw-border-opacity: 1;border-color:rgb(231 70 148 / var(--tw-border-opacity))}:is(.dark .dark\:border-purple-400){--tw-border-opacity: 1;border-color:rgb(172 148 250 / var(--tw-border-opacity))}:is(.dark .dark\:border-purple-500){--tw-border-opacity: 1;border-color:rgb(144 97 249 / var(--tw-border-opacity))}:is(.dark .dark\:border-red-500){--tw-border-opacity: 1;border-color:rgb(240 82 82 / var(--tw-border-opacity))}:is(.dark .dark\:border-transparent){border-color:transparent}:is(.dark .dark\:border-yellow-300){--tw-border-opacity: 1;border-color:rgb(250 202 21 / var(--tw-border-opacity))}:is(.dark .dark\:bg-bg-dark){background-color:var(--color-bg-dark)}:is(.dark .dark\:bg-bg-dark-discussion){background-color:var(--color-bg-dark-discussion)}:is(.dark .dark\:bg-bg-dark-tone){background-color:var(--color-bg-dark-tone)}:is(.dark .dark\:bg-bg-dark-tone-panel){background-color:var(--color-bg-dark-tone-panel)}:is(.dark .dark\:bg-black){--tw-bg-opacity: 1;background-color:rgb(0 0 0 / var(--tw-bg-opacity))}:is(.dark .dark\:bg-blue-200){--tw-bg-opacity: 1;background-color:rgb(195 221 253 / var(--tw-bg-opacity))}:is(.dark .dark\:bg-blue-500){--tw-bg-opacity: 1;background-color:rgb(63 131 248 / var(--tw-bg-opacity))}:is(.dark .dark\:bg-blue-600){--tw-bg-opacity: 1;background-color:rgb(28 100 242 / var(--tw-bg-opacity))}:is(.dark .dark\:bg-blue-700){--tw-bg-opacity: 1;background-color:rgb(26 86 219 / var(--tw-bg-opacity))}:is(.dark .dark\:bg-blue-800){--tw-bg-opacity: 1;background-color:rgb(30 66 159 / var(--tw-bg-opacity))}:is(.dark .dark\:bg-blue-900){--tw-bg-opacity: 1;background-color:rgb(35 56 118 / var(--tw-bg-opacity))}:is(.dark .dark\:bg-gray-200){--tw-bg-opacity: 1;background-color:rgb(229 231 235 / var(--tw-bg-opacity))}:is(.dark .dark\:bg-gray-300){--tw-bg-opacity: 1;background-color:rgb(209 213 219 / var(--tw-bg-opacity))}:is(.dark .dark\:bg-gray-400){--tw-bg-opacity: 1;background-color:rgb(156 163 175 / var(--tw-bg-opacity))}:is(.dark .dark\:bg-gray-500){--tw-bg-opacity: 1;background-color:rgb(107 114 128 / var(--tw-bg-opacity))}:is(.dark .dark\:bg-gray-600){--tw-bg-opacity: 1;background-color:rgb(75 85 99 / var(--tw-bg-opacity))}:is(.dark .dark\:bg-gray-700){--tw-bg-opacity: 1;background-color:rgb(55 65 81 / var(--tw-bg-opacity))}:is(.dark .dark\:bg-gray-800){--tw-bg-opacity: 1;background-color:rgb(31 41 55 / var(--tw-bg-opacity))}:is(.dark .dark\:bg-gray-800\/30){background-color:#1f29374d}:is(.dark .dark\:bg-gray-800\/50){background-color:#1f293780}:is(.dark .dark\:bg-gray-900){--tw-bg-opacity: 1;background-color:rgb(17 24 39 / var(--tw-bg-opacity))}:is(.dark .dark\:bg-green-200){--tw-bg-opacity: 1;background-color:rgb(188 240 218 / var(--tw-bg-opacity))}:is(.dark .dark\:bg-green-500){--tw-bg-opacity: 1;background-color:rgb(14 159 110 / var(--tw-bg-opacity))}:is(.dark .dark\:bg-green-600){--tw-bg-opacity: 1;background-color:rgb(5 122 85 / var(--tw-bg-opacity))}:is(.dark .dark\:bg-green-800){--tw-bg-opacity: 1;background-color:rgb(3 84 63 / var(--tw-bg-opacity))}:is(.dark .dark\:bg-indigo-200){--tw-bg-opacity: 1;background-color:rgb(205 219 254 / var(--tw-bg-opacity))}:is(.dark .dark\:bg-indigo-500){--tw-bg-opacity: 1;background-color:rgb(104 117 245 / var(--tw-bg-opacity))}:is(.dark .dark\:bg-orange-700){--tw-bg-opacity: 1;background-color:rgb(180 52 3 / var(--tw-bg-opacity))}:is(.dark .dark\:bg-orange-800){--tw-bg-opacity: 1;background-color:rgb(138 44 13 / var(--tw-bg-opacity))}:is(.dark .dark\:bg-pink-200){--tw-bg-opacity: 1;background-color:rgb(250 209 232 / var(--tw-bg-opacity))}:is(.dark .dark\:bg-pink-600){--tw-bg-opacity: 1;background-color:rgb(214 31 105 / var(--tw-bg-opacity))}:is(.dark .dark\:bg-purple-200){--tw-bg-opacity: 1;background-color:rgb(220 215 254 / var(--tw-bg-opacity))}:is(.dark .dark\:bg-purple-500){--tw-bg-opacity: 1;background-color:rgb(144 97 249 / var(--tw-bg-opacity))}:is(.dark .dark\:bg-purple-600){--tw-bg-opacity: 1;background-color:rgb(126 58 242 / var(--tw-bg-opacity))}:is(.dark .dark\:bg-red-200){--tw-bg-opacity: 1;background-color:rgb(251 213 213 / var(--tw-bg-opacity))}:is(.dark .dark\:bg-red-500){--tw-bg-opacity: 1;background-color:rgb(240 82 82 / var(--tw-bg-opacity))}:is(.dark .dark\:bg-red-600){--tw-bg-opacity: 1;background-color:rgb(224 36 36 / var(--tw-bg-opacity))}:is(.dark .dark\:bg-red-800){--tw-bg-opacity: 1;background-color:rgb(155 28 28 / var(--tw-bg-opacity))}:is(.dark .dark\:bg-yellow-200){--tw-bg-opacity: 1;background-color:rgb(252 233 106 / var(--tw-bg-opacity))}:is(.dark .dark\:bg-opacity-70){--tw-bg-opacity: .7}:is(.dark .dark\:bg-opacity-80){--tw-bg-opacity: .8}:is(.dark .dark\:from-bg-dark){--tw-gradient-from: var(--color-bg-dark) var(--tw-gradient-from-position);--tw-gradient-to: rgb(255 255 255 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}:is(.dark .dark\:from-bg-dark-tone){--tw-gradient-from: var(--color-bg-dark-tone) var(--tw-gradient-from-position);--tw-gradient-to: rgb(255 255 255 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}:is(.dark .dark\:via-bg-dark){--tw-gradient-to: rgb(255 255 255 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--color-bg-dark) var(--tw-gradient-via-position), var(--tw-gradient-to)}:is(.dark .dark\:fill-gray-300){fill:#d1d5db}:is(.dark .dark\:fill-white){fill:#fff}:is(.dark .dark\:text-blue-200){--tw-text-opacity: 1;color:rgb(195 221 253 / var(--tw-text-opacity))}:is(.dark .dark\:text-blue-500){--tw-text-opacity: 1;color:rgb(63 131 248 / var(--tw-text-opacity))}:is(.dark .dark\:text-blue-800){--tw-text-opacity: 1;color:rgb(30 66 159 / var(--tw-text-opacity))}:is(.dark .dark\:text-dark-text-panel){color:var(--color-dark-text-panel)}:is(.dark .dark\:text-gray-200){--tw-text-opacity: 1;color:rgb(229 231 235 / var(--tw-text-opacity))}:is(.dark .dark\:text-gray-300){--tw-text-opacity: 1;color:rgb(209 213 219 / var(--tw-text-opacity))}:is(.dark .dark\:text-gray-400){--tw-text-opacity: 1;color:rgb(156 163 175 / var(--tw-text-opacity))}:is(.dark .dark\:text-gray-500){--tw-text-opacity: 1;color:rgb(107 114 128 / var(--tw-text-opacity))}:is(.dark .dark\:text-gray-600){--tw-text-opacity: 1;color:rgb(75 85 99 / var(--tw-text-opacity))}:is(.dark .dark\:text-gray-800){--tw-text-opacity: 1;color:rgb(31 41 55 / var(--tw-text-opacity))}:is(.dark .dark\:text-green-100){--tw-text-opacity: 1;color:rgb(222 247 236 / var(--tw-text-opacity))}:is(.dark .dark\:text-green-200){--tw-text-opacity: 1;color:rgb(188 240 218 / var(--tw-text-opacity))}:is(.dark .dark\:text-green-500){--tw-text-opacity: 1;color:rgb(14 159 110 / var(--tw-text-opacity))}:is(.dark .dark\:text-green-800){--tw-text-opacity: 1;color:rgb(3 84 63 / var(--tw-text-opacity))}:is(.dark .dark\:text-green-900){--tw-text-opacity: 1;color:rgb(1 71 55 / var(--tw-text-opacity))}:is(.dark .dark\:text-indigo-500){--tw-text-opacity: 1;color:rgb(104 117 245 / var(--tw-text-opacity))}:is(.dark .dark\:text-indigo-900){--tw-text-opacity: 1;color:rgb(54 47 120 / var(--tw-text-opacity))}:is(.dark .dark\:text-light-text-panel){color:var(--color-light-text-panel)}:is(.dark .dark\:text-orange-200){--tw-text-opacity: 1;color:rgb(252 217 189 / var(--tw-text-opacity))}:is(.dark .dark\:text-pink-400){--tw-text-opacity: 1;color:rgb(241 126 184 / var(--tw-text-opacity))}:is(.dark .dark\:text-pink-500){--tw-text-opacity: 1;color:rgb(231 70 148 / var(--tw-text-opacity))}:is(.dark .dark\:text-pink-900){--tw-text-opacity: 1;color:rgb(117 26 61 / var(--tw-text-opacity))}:is(.dark .dark\:text-primary){color:var(--color-primary)}:is(.dark .dark\:text-purple-400){--tw-text-opacity: 1;color:rgb(172 148 250 / var(--tw-text-opacity))}:is(.dark .dark\:text-purple-500){--tw-text-opacity: 1;color:rgb(144 97 249 / var(--tw-text-opacity))}:is(.dark .dark\:text-purple-900){--tw-text-opacity: 1;color:rgb(74 29 150 / var(--tw-text-opacity))}:is(.dark .dark\:text-red-200){--tw-text-opacity: 1;color:rgb(251 213 213 / var(--tw-text-opacity))}:is(.dark .dark\:text-red-500){--tw-text-opacity: 1;color:rgb(240 82 82 / var(--tw-text-opacity))}:is(.dark .dark\:text-red-800){--tw-text-opacity: 1;color:rgb(155 28 28 / var(--tw-text-opacity))}:is(.dark .dark\:text-red-900){--tw-text-opacity: 1;color:rgb(119 29 29 / var(--tw-text-opacity))}:is(.dark .dark\:text-slate-50){--tw-text-opacity: 1;color:rgb(248 250 252 / var(--tw-text-opacity))}:is(.dark .dark\:text-white){--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity))}:is(.dark .dark\:text-yellow-300){--tw-text-opacity: 1;color:rgb(250 202 21 / var(--tw-text-opacity))}:is(.dark .dark\:text-yellow-500){--tw-text-opacity: 1;color:rgb(194 120 3 / var(--tw-text-opacity))}:is(.dark .dark\:text-yellow-800){--tw-text-opacity: 1;color:rgb(114 59 19 / var(--tw-text-opacity))}:is(.dark .dark\:text-yellow-900){--tw-text-opacity: 1;color:rgb(99 49 18 / var(--tw-text-opacity))}:is(.dark .dark\:placeholder-gray-400)::-moz-placeholder{--tw-placeholder-opacity: 1;color:rgb(156 163 175 / var(--tw-placeholder-opacity))}:is(.dark .dark\:placeholder-gray-400)::placeholder{--tw-placeholder-opacity: 1;color:rgb(156 163 175 / var(--tw-placeholder-opacity))}:is(.dark .dark\:shadow-lg){--tw-shadow: 0 10px 15px -3px rgb(0 0 0 / .1), 0 4px 6px -4px rgb(0 0 0 / .1);--tw-shadow-colored: 0 10px 15px -3px var(--tw-shadow-color), 0 4px 6px -4px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}:is(.dark .dark\:shadow-blue-800\/80){--tw-shadow-color: rgb(30 66 159 / .8);--tw-shadow: var(--tw-shadow-colored)}:is(.dark .dark\:shadow-cyan-800\/80){--tw-shadow-color: rgb(21 94 117 / .8);--tw-shadow: var(--tw-shadow-colored)}:is(.dark .dark\:shadow-green-800\/80){--tw-shadow-color: rgb(3 84 63 / .8);--tw-shadow: var(--tw-shadow-colored)}:is(.dark .dark\:shadow-lime-800\/80){--tw-shadow-color: rgb(63 98 18 / .8);--tw-shadow: var(--tw-shadow-colored)}:is(.dark .dark\:shadow-pink-800\/80){--tw-shadow-color: rgb(153 21 75 / .8);--tw-shadow: var(--tw-shadow-colored)}:is(.dark .dark\:shadow-purple-800\/80){--tw-shadow-color: rgb(85 33 181 / .8);--tw-shadow: var(--tw-shadow-colored)}:is(.dark .dark\:shadow-red-800\/80){--tw-shadow-color: rgb(155 28 28 / .8);--tw-shadow: var(--tw-shadow-colored)}:is(.dark .dark\:shadow-teal-800\/80){--tw-shadow-color: rgb(5 80 92 / .8);--tw-shadow: var(--tw-shadow-colored)}:is(.dark .dark\:ring-gray-500){--tw-ring-opacity: 1;--tw-ring-color: rgb(107 114 128 / var(--tw-ring-opacity))}:is(.dark .dark\:ring-offset-gray-700){--tw-ring-offset-color: #374151}:is(.dark .dark\:ring-offset-gray-800){--tw-ring-offset-color: #1F2937}:is(.dark .dark\:scrollbar-track-bg-dark){--scrollbar-track: var(--color-bg-dark) !important}:is(.dark .dark\:scrollbar-track-bg-dark-tone){--scrollbar-track: var(--color-bg-dark-tone) !important}:is(.dark .dark\:scrollbar-thumb-bg-dark-tone){--scrollbar-thumb: var(--color-bg-dark-tone) !important}:is(.dark .dark\:scrollbar-thumb-bg-dark-tone-panel){--scrollbar-thumb: var(--color-bg-dark-tone-panel) !important}:is(.dark .odd\:dark\:bg-bg-dark-tone):nth-child(odd){background-color:var(--color-bg-dark-tone)}:is(.dark .dark\:even\:bg-bg-dark-discussion-odd:nth-child(2n)){background-color:var(--color-bg-dark-discussion-odd)}:is(.dark .dark\:even\:bg-bg-dark-tone-panel:nth-child(2n)){background-color:var(--color-bg-dark-tone-panel)}:is(.dark .group:hover .dark\:group-hover\:bg-gray-800\/60){background-color:#1f293799}:is(.dark .group:hover .dark\:group-hover\:text-white){--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity))}:is(.dark .group:focus .dark\:group-focus\:ring-gray-800\/70){--tw-ring-color: rgb(31 41 55 / .7)}:is(.dark .dark\:hover\:border-gray-600:hover){--tw-border-opacity: 1;border-color:rgb(75 85 99 / var(--tw-border-opacity))}:is(.dark .dark\:hover\:border-primary:hover){border-color:var(--color-primary)}:is(.dark .dark\:hover\:bg-bg-dark-tone:hover){background-color:var(--color-bg-dark-tone)}:is(.dark .dark\:hover\:bg-blue-300:hover){--tw-bg-opacity: 1;background-color:rgb(164 202 254 / var(--tw-bg-opacity))}:is(.dark .dark\:hover\:bg-blue-600:hover){--tw-bg-opacity: 1;background-color:rgb(28 100 242 / var(--tw-bg-opacity))}:is(.dark .dark\:hover\:bg-blue-700:hover){--tw-bg-opacity: 1;background-color:rgb(26 86 219 / var(--tw-bg-opacity))}:is(.dark .dark\:hover\:bg-gray-600:hover){--tw-bg-opacity: 1;background-color:rgb(75 85 99 / var(--tw-bg-opacity))}:is(.dark .dark\:hover\:bg-gray-700:hover){--tw-bg-opacity: 1;background-color:rgb(55 65 81 / var(--tw-bg-opacity))}:is(.dark .dark\:hover\:bg-gray-800:hover){--tw-bg-opacity: 1;background-color:rgb(31 41 55 / var(--tw-bg-opacity))}:is(.dark .dark\:hover\:bg-green-300:hover){--tw-bg-opacity: 1;background-color:rgb(132 225 188 / var(--tw-bg-opacity))}:is(.dark .dark\:hover\:bg-green-600:hover){--tw-bg-opacity: 1;background-color:rgb(5 122 85 / var(--tw-bg-opacity))}:is(.dark .dark\:hover\:bg-green-700:hover){--tw-bg-opacity: 1;background-color:rgb(4 108 78 / var(--tw-bg-opacity))}:is(.dark .dark\:hover\:bg-pink-500:hover){--tw-bg-opacity: 1;background-color:rgb(231 70 148 / var(--tw-bg-opacity))}:is(.dark .dark\:hover\:bg-pink-700:hover){--tw-bg-opacity: 1;background-color:rgb(191 18 93 / var(--tw-bg-opacity))}:is(.dark .dark\:hover\:bg-primary:hover){background-color:var(--color-primary)}:is(.dark .dark\:hover\:bg-purple-500:hover){--tw-bg-opacity: 1;background-color:rgb(144 97 249 / var(--tw-bg-opacity))}:is(.dark .dark\:hover\:bg-purple-700:hover){--tw-bg-opacity: 1;background-color:rgb(108 43 217 / var(--tw-bg-opacity))}:is(.dark .dark\:hover\:bg-red-300:hover){--tw-bg-opacity: 1;background-color:rgb(248 180 180 / var(--tw-bg-opacity))}:is(.dark .dark\:hover\:bg-red-600:hover){--tw-bg-opacity: 1;background-color:rgb(224 36 36 / var(--tw-bg-opacity))}:is(.dark .dark\:hover\:bg-red-700:hover){--tw-bg-opacity: 1;background-color:rgb(200 30 30 / var(--tw-bg-opacity))}:is(.dark .dark\:hover\:bg-secondary:hover){background-color:var(--color-secondary)}:is(.dark .dark\:hover\:bg-yellow-300:hover){--tw-bg-opacity: 1;background-color:rgb(250 202 21 / var(--tw-bg-opacity))}:is(.dark .dark\:hover\:bg-yellow-400:hover){--tw-bg-opacity: 1;background-color:rgb(227 160 8 / var(--tw-bg-opacity))}:is(.dark .hover\:dark\:bg-bg-dark-tone):hover{background-color:var(--color-bg-dark-tone)}:is(.dark .hover\:dark\:bg-bg-dark-tone-panel):hover{background-color:var(--color-bg-dark-tone-panel)}:is(.dark .dark\:hover\:fill-primary:hover){fill:var(--color-primary)}:is(.dark .dark\:hover\:text-blue-500:hover){--tw-text-opacity: 1;color:rgb(63 131 248 / var(--tw-text-opacity))}:is(.dark .dark\:hover\:text-gray-300:hover){--tw-text-opacity: 1;color:rgb(209 213 219 / var(--tw-text-opacity))}:is(.dark .dark\:hover\:text-gray-900:hover){--tw-text-opacity: 1;color:rgb(17 24 39 / var(--tw-text-opacity))}:is(.dark .dark\:hover\:text-white:hover){--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity))}:is(.dark .dark\:hover\:scrollbar-thumb-primary){--scrollbar-thumb-hover: var(--color-primary) !important}:is(.dark .dark\:focus\:border-blue-500:focus){--tw-border-opacity: 1;border-color:rgb(63 131 248 / var(--tw-border-opacity))}:is(.dark .dark\:focus\:border-secondary:focus){border-color:var(--color-secondary)}:is(.dark .dark\:focus\:text-white:focus){--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity))}:is(.dark .dark\:focus\:ring-blue-500:focus){--tw-ring-opacity: 1;--tw-ring-color: rgb(63 131 248 / var(--tw-ring-opacity))}:is(.dark .dark\:focus\:ring-blue-600:focus){--tw-ring-opacity: 1;--tw-ring-color: rgb(28 100 242 / var(--tw-ring-opacity))}:is(.dark .dark\:focus\:ring-blue-800:focus){--tw-ring-opacity: 1;--tw-ring-color: rgb(30 66 159 / var(--tw-ring-opacity))}:is(.dark .dark\:focus\:ring-cyan-800:focus){--tw-ring-opacity: 1;--tw-ring-color: rgb(21 94 117 / var(--tw-ring-opacity))}:is(.dark .dark\:focus\:ring-gray-500:focus){--tw-ring-opacity: 1;--tw-ring-color: rgb(107 114 128 / var(--tw-ring-opacity))}:is(.dark .dark\:focus\:ring-gray-600:focus){--tw-ring-opacity: 1;--tw-ring-color: rgb(75 85 99 / var(--tw-ring-opacity))}:is(.dark .dark\:focus\:ring-gray-700:focus){--tw-ring-opacity: 1;--tw-ring-color: rgb(55 65 81 / var(--tw-ring-opacity))}:is(.dark .dark\:focus\:ring-gray-800:focus){--tw-ring-opacity: 1;--tw-ring-color: rgb(31 41 55 / var(--tw-ring-opacity))}:is(.dark .dark\:focus\:ring-green-800:focus){--tw-ring-opacity: 1;--tw-ring-color: rgb(3 84 63 / var(--tw-ring-opacity))}:is(.dark .dark\:focus\:ring-lime-800:focus){--tw-ring-opacity: 1;--tw-ring-color: rgb(63 98 18 / var(--tw-ring-opacity))}:is(.dark .dark\:focus\:ring-pink-800:focus){--tw-ring-opacity: 1;--tw-ring-color: rgb(153 21 75 / var(--tw-ring-opacity))}:is(.dark .dark\:focus\:ring-pink-900:focus){--tw-ring-opacity: 1;--tw-ring-color: rgb(117 26 61 / var(--tw-ring-opacity))}:is(.dark .dark\:focus\:ring-purple-800:focus){--tw-ring-opacity: 1;--tw-ring-color: rgb(85 33 181 / var(--tw-ring-opacity))}:is(.dark .dark\:focus\:ring-purple-900:focus){--tw-ring-opacity: 1;--tw-ring-color: rgb(74 29 150 / var(--tw-ring-opacity))}:is(.dark .dark\:focus\:ring-red-400:focus){--tw-ring-opacity: 1;--tw-ring-color: rgb(249 128 128 / var(--tw-ring-opacity))}:is(.dark .dark\:focus\:ring-red-800:focus){--tw-ring-opacity: 1;--tw-ring-color: rgb(155 28 28 / var(--tw-ring-opacity))}:is(.dark .dark\:focus\:ring-red-900:focus){--tw-ring-opacity: 1;--tw-ring-color: rgb(119 29 29 / var(--tw-ring-opacity))}:is(.dark .dark\:focus\:ring-secondary:focus){--tw-ring-color: var(--color-secondary)}:is(.dark .dark\:focus\:ring-teal-700:focus){--tw-ring-opacity: 1;--tw-ring-color: rgb(3 102 114 / var(--tw-ring-opacity))}:is(.dark .dark\:focus\:ring-teal-800:focus){--tw-ring-opacity: 1;--tw-ring-color: rgb(5 80 92 / var(--tw-ring-opacity))}:is(.dark .dark\:focus\:ring-yellow-900:focus){--tw-ring-opacity: 1;--tw-ring-color: rgb(99 49 18 / var(--tw-ring-opacity))}:is(.dark .dark\:focus\:ring-offset-gray-700:focus){--tw-ring-offset-color: #374151}@media (min-width: 640px){.sm\:mt-0{margin-top:0}.sm\:h-10{height:2.5rem}.sm\:h-6{height:1.5rem}.sm\:h-64{height:16rem}.sm\:w-1\/4{width:25%}.sm\:w-10{width:2.5rem}.sm\:w-6{width:1.5rem}.sm\:w-auto{width:auto}.sm\:flex-row{flex-direction:row}.sm\:rounded-lg{border-radius:.5rem}.sm\:px-4{padding-left:1rem;padding-right:1rem}.sm\:text-center{text-align:center}.sm\:text-xs{font-size:.75rem;line-height:1rem}}@media (min-width: 768px){.md\:inset-0{top:0;right:0;bottom:0;left:0}.md\:order-2{order:2}.md\:my-2{margin-top:.5rem;margin-bottom:.5rem}.md\:mr-6{margin-right:1.5rem}.md\:mt-0{margin-top:0}.md\:block{display:block}.md\:flex{display:flex}.md\:hidden{display:none}.md\:h-auto{height:auto}.md\:h-full{height:100%}.md\:w-1\/4{width:25%}.md\:w-48{width:12rem}.md\:w-auto{width:auto}.md\:max-w-xl{max-width:36rem}.md\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.md\:flex-row{flex-direction:row}.md\:items-center{align-items:center}.md\:justify-between{justify-content:space-between}.md\:space-x-3>:not([hidden])~:not([hidden]){--tw-space-x-reverse: 0;margin-right:calc(.75rem * var(--tw-space-x-reverse));margin-left:calc(.75rem * calc(1 - var(--tw-space-x-reverse)))}.md\:space-x-8>:not([hidden])~:not([hidden]){--tw-space-x-reverse: 0;margin-right:calc(2rem * var(--tw-space-x-reverse));margin-left:calc(2rem * calc(1 - var(--tw-space-x-reverse)))}.md\:rounded-none{border-radius:0}.md\:rounded-l-lg{border-top-left-radius:.5rem;border-bottom-left-radius:.5rem}.md\:border-0{border-width:0px}.md\:bg-transparent{background-color:transparent}.md\:p-0{padding:0}.md\:p-6{padding:1.5rem}.md\:text-sm{font-size:.875rem;line-height:1.25rem}.md\:font-medium{font-weight:500}.md\:text-blue-700{--tw-text-opacity: 1;color:rgb(26 86 219 / var(--tw-text-opacity))}.md\:hover\:bg-transparent:hover{background-color:transparent}.md\:hover\:text-blue-700:hover{--tw-text-opacity: 1;color:rgb(26 86 219 / var(--tw-text-opacity))}:is(.dark .md\:dark\:bg-gray-900){--tw-bg-opacity: 1;background-color:rgb(17 24 39 / var(--tw-bg-opacity))}:is(.dark .md\:dark\:hover\:bg-transparent:hover){background-color:transparent}:is(.dark .md\:dark\:hover\:text-white:hover){--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity))}}@media (min-width: 1024px){.lg\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.lg\:flex-row{flex-direction:row}}@media (min-width: 1280px){.xl\:h-80{height:20rem}.xl\:w-1\/6{width:16.666667%}}@media (min-width: 1536px){.\32xl\:h-96{height:24rem}} diff --git a/web/dist/assets/index-a71c2ca5.js b/web/dist/assets/index-f6b4f977.js similarity index 97% rename from web/dist/assets/index-a71c2ca5.js rename to web/dist/assets/index-f6b4f977.js index 94ef98b0..f42aa041 100644 --- a/web/dist/assets/index-a71c2ca5.js +++ b/web/dist/assets/index-f6b4f977.js @@ -56,7 +56,7 @@ https://github.com/highlightjs/highlight.js/issues/2277`),ae=U,j=Q),J===void 0&& `)]),et(` `)])):V("",!0)])}const cKe=bt(BWe,[["render",lKe]]);/*! @license DOMPurify 3.0.8 | (c) Cure53 and other contributors | Released under the Apache license 2.0 and Mozilla Public License 2.0 | github.com/cure53/DOMPurify/blob/3.0.8/LICENSE */const{entries:NN,setPrototypeOf:pC,isFrozen:dKe,getPrototypeOf:uKe,getOwnPropertyDescriptor:gE}=Object;let{freeze:$n,seal:Yi,create:ON}=Object,{apply:Wg,construct:Kg}=typeof Reflect<"u"&&Reflect;$n||($n=function(e){return e});Yi||(Yi=function(e){return e});Wg||(Wg=function(e,t,i){return e.apply(t,i)});Kg||(Kg=function(e,t){return new e(...t)});const Uc=wi(Array.prototype.forEach),_C=wi(Array.prototype.pop),dl=wi(Array.prototype.push),Md=wi(String.prototype.toLowerCase),Om=wi(String.prototype.toString),pKe=wi(String.prototype.match),ul=wi(String.prototype.replace),_Ke=wi(String.prototype.indexOf),hKe=wi(String.prototype.trim),ni=wi(RegExp.prototype.test),pl=fKe(TypeError);function wi(n){return function(e){for(var t=arguments.length,i=new Array(t>1?t-1:0),s=1;s2&&arguments[2]!==void 0?arguments[2]:Md;pC&&pC(n,null);let i=e.length;for(;i--;){let s=e[i];if(typeof s=="string"){const r=t(s);r!==s&&(dKe(e)||(e[i]=r),s=r)}n[s]=!0}return n}function mKe(n){for(let e=0;e/gm),vKe=Yi(/\${[\w\W]*}/gm),SKe=Yi(/^data-[\-\w.\u00B7-\uFFFF]/),TKe=Yi(/^aria-[\-\w]+$/),IN=Yi(/^(?:(?:(?:f|ht)tps?|mailto|tel|callto|sms|cid|xmpp):|[^a-z]|[a-z+.\-]+(?:[^a-z+.\-:]|$))/i),xKe=Yi(/^(?:\w+script|data):/i),CKe=Yi(/[\u0000-\u0020\u00A0\u1680\u180E\u2000-\u2029\u205F\u3000]/g),MN=Yi(/^html$/i);var bC=Object.freeze({__proto__:null,MUSTACHE_EXPR:EKe,ERB_EXPR:yKe,TMPLIT_EXPR:vKe,DATA_ATTR:SKe,ARIA_ATTR:TKe,IS_ALLOWED_URI:IN,IS_SCRIPT_OR_DATA:xKe,ATTR_WHITESPACE:CKe,DOCTYPE_NAME:MN});const wKe=function(){return typeof window>"u"?null:window},RKe=function(e,t){if(typeof e!="object"||typeof e.createPolicy!="function")return null;let i=null;const s="data-tt-policy-suffix";t&&t.hasAttribute(s)&&(i=t.getAttribute(s));const r="dompurify"+(i?"#"+i:"");try{return e.createPolicy(r,{createHTML(o){return o},createScriptURL(o){return o}})}catch{return console.warn("TrustedTypes policy "+r+" could not be created."),null}};function DN(){let n=arguments.length>0&&arguments[0]!==void 0?arguments[0]:wKe();const e=nt=>DN(nt);if(e.version="3.0.8",e.removed=[],!n||!n.document||n.document.nodeType!==9)return e.isSupported=!1,e;let{document:t}=n;const i=t,s=i.currentScript,{DocumentFragment:r,HTMLTemplateElement:o,Node:a,Element:l,NodeFilter:u,NamedNodeMap:d=n.NamedNodeMap||n.MozNamedAttrMap,HTMLFormElement:h,DOMParser:f,trustedTypes:_}=n,m=l.prototype,E=Fc(m,"cloneNode"),b=Fc(m,"nextSibling"),g=Fc(m,"childNodes"),y=Fc(m,"parentNode");if(typeof o=="function"){const nt=t.createElement("template");nt.content&&nt.content.ownerDocument&&(t=nt.content.ownerDocument)}let v,S="";const{implementation:C,createNodeIterator:T,createDocumentFragment:O,getElementsByTagName:k}=t,{importNode:x}=i;let I={};e.isSupported=typeof NN=="function"&&typeof y=="function"&&C&&C.createHTMLDocument!==void 0;const{MUSTACHE_EXPR:F,ERB_EXPR:B,TMPLIT_EXPR:ne,DATA_ATTR:L,ARIA_ATTR:$,IS_SCRIPT_OR_DATA:H,ATTR_WHITESPACE:U}=bC;let{IS_ALLOWED_URI:Q}=bC,J=null;const j=Nt({},[...hC,...Im,...Mm,...Dm,...fC]);let ae=null;const ve=Nt({},[...mC,...km,...gC,...Bc]);let ee=Object.seal(ON(null,{tagNameCheck:{writable:!0,configurable:!1,enumerable:!0,value:null},attributeNameCheck:{writable:!0,configurable:!1,enumerable:!0,value:null},allowCustomizedBuiltInElements:{writable:!0,configurable:!1,enumerable:!0,value:!1}})),Ee=null,Ce=null,Me=!0,Z=!0,ye=!1,fe=!0,Ne=!1,Le=!1,D=!1,q=!1,K=!1,de=!1,le=!1,Re=!0,Ie=!1;const z="user-content-";let pe=!0,re=!1,ce={},M=null;const N=Nt({},["annotation-xml","audio","colgroup","desc","foreignobject","head","iframe","math","mi","mn","mo","ms","mtext","noembed","noframes","noscript","plaintext","script","style","svg","template","thead","title","video","xmp"]);let W=null;const ue=Nt({},["audio","video","img","source","image","track"]);let X=null;const ie=Nt({},["alt","class","for","id","label","name","pattern","placeholder","role","summary","title","value","style","xmlns"]),Ae="http://www.w3.org/1998/Math/MathML",we="http://www.w3.org/2000/svg",ke="http://www.w3.org/1999/xhtml";let Qe=ke,ct=!1,Pe=null;const ut=Nt({},[Ae,we,ke],Om);let Je=null;const qe=["application/xhtml+xml","text/html"],tt="text/html";let Fe=null,pt=null;const oe=t.createElement("form"),Ke=function(R){return R instanceof RegExp||R instanceof Function},Ue=function(){let R=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};if(!(pt&&pt===R)){if((!R||typeof R!="object")&&(R={}),R=qr(R),Je=qe.indexOf(R.PARSER_MEDIA_TYPE)===-1?tt:R.PARSER_MEDIA_TYPE,Fe=Je==="application/xhtml+xml"?Om:Md,J="ALLOWED_TAGS"in R?Nt({},R.ALLOWED_TAGS,Fe):j,ae="ALLOWED_ATTR"in R?Nt({},R.ALLOWED_ATTR,Fe):ve,Pe="ALLOWED_NAMESPACES"in R?Nt({},R.ALLOWED_NAMESPACES,Om):ut,X="ADD_URI_SAFE_ATTR"in R?Nt(qr(ie),R.ADD_URI_SAFE_ATTR,Fe):ie,W="ADD_DATA_URI_TAGS"in R?Nt(qr(ue),R.ADD_DATA_URI_TAGS,Fe):ue,M="FORBID_CONTENTS"in R?Nt({},R.FORBID_CONTENTS,Fe):N,Ee="FORBID_TAGS"in R?Nt({},R.FORBID_TAGS,Fe):{},Ce="FORBID_ATTR"in R?Nt({},R.FORBID_ATTR,Fe):{},ce="USE_PROFILES"in R?R.USE_PROFILES:!1,Me=R.ALLOW_ARIA_ATTR!==!1,Z=R.ALLOW_DATA_ATTR!==!1,ye=R.ALLOW_UNKNOWN_PROTOCOLS||!1,fe=R.ALLOW_SELF_CLOSE_IN_ATTR!==!1,Ne=R.SAFE_FOR_TEMPLATES||!1,Le=R.WHOLE_DOCUMENT||!1,K=R.RETURN_DOM||!1,de=R.RETURN_DOM_FRAGMENT||!1,le=R.RETURN_TRUSTED_TYPE||!1,q=R.FORCE_BODY||!1,Re=R.SANITIZE_DOM!==!1,Ie=R.SANITIZE_NAMED_PROPS||!1,pe=R.KEEP_CONTENT!==!1,re=R.IN_PLACE||!1,Q=R.ALLOWED_URI_REGEXP||IN,Qe=R.NAMESPACE||ke,ee=R.CUSTOM_ELEMENT_HANDLING||{},R.CUSTOM_ELEMENT_HANDLING&&Ke(R.CUSTOM_ELEMENT_HANDLING.tagNameCheck)&&(ee.tagNameCheck=R.CUSTOM_ELEMENT_HANDLING.tagNameCheck),R.CUSTOM_ELEMENT_HANDLING&&Ke(R.CUSTOM_ELEMENT_HANDLING.attributeNameCheck)&&(ee.attributeNameCheck=R.CUSTOM_ELEMENT_HANDLING.attributeNameCheck),R.CUSTOM_ELEMENT_HANDLING&&typeof R.CUSTOM_ELEMENT_HANDLING.allowCustomizedBuiltInElements=="boolean"&&(ee.allowCustomizedBuiltInElements=R.CUSTOM_ELEMENT_HANDLING.allowCustomizedBuiltInElements),Ne&&(Z=!1),de&&(K=!0),ce&&(J=Nt({},fC),ae=[],ce.html===!0&&(Nt(J,hC),Nt(ae,mC)),ce.svg===!0&&(Nt(J,Im),Nt(ae,km),Nt(ae,Bc)),ce.svgFilters===!0&&(Nt(J,Mm),Nt(ae,km),Nt(ae,Bc)),ce.mathMl===!0&&(Nt(J,Dm),Nt(ae,gC),Nt(ae,Bc))),R.ADD_TAGS&&(J===j&&(J=qr(J)),Nt(J,R.ADD_TAGS,Fe)),R.ADD_ATTR&&(ae===ve&&(ae=qr(ae)),Nt(ae,R.ADD_ATTR,Fe)),R.ADD_URI_SAFE_ATTR&&Nt(X,R.ADD_URI_SAFE_ATTR,Fe),R.FORBID_CONTENTS&&(M===N&&(M=qr(M)),Nt(M,R.FORBID_CONTENTS,Fe)),pe&&(J["#text"]=!0),Le&&Nt(J,["html","head","body"]),J.table&&(Nt(J,["tbody"]),delete Ee.tbody),R.TRUSTED_TYPES_POLICY){if(typeof R.TRUSTED_TYPES_POLICY.createHTML!="function")throw pl('TRUSTED_TYPES_POLICY configuration option must provide a "createHTML" hook.');if(typeof R.TRUSTED_TYPES_POLICY.createScriptURL!="function")throw pl('TRUSTED_TYPES_POLICY configuration option must provide a "createScriptURL" hook.');v=R.TRUSTED_TYPES_POLICY,S=v.createHTML("")}else v===void 0&&(v=RKe(_,s)),v!==null&&typeof S=="string"&&(S=v.createHTML(""));$n&&$n(R),pt=R}},Oe=Nt({},["mi","mo","mn","ms","mtext"]),Be=Nt({},["foreignobject","desc","title","annotation-xml"]),dt=Nt({},["title","style","font","a","script"]),Et=Nt({},[...Im,...Mm,...gKe]),Qt=Nt({},[...Dm,...bKe]),cn=function(R){let Y=y(R);(!Y||!Y.tagName)&&(Y={namespaceURI:Qe,tagName:"template"});const te=Md(R.tagName),be=Md(Y.tagName);return Pe[R.namespaceURI]?R.namespaceURI===we?Y.namespaceURI===ke?te==="svg":Y.namespaceURI===Ae?te==="svg"&&(be==="annotation-xml"||Oe[be]):!!Et[te]:R.namespaceURI===Ae?Y.namespaceURI===ke?te==="math":Y.namespaceURI===we?te==="math"&&Be[be]:!!Qt[te]:R.namespaceURI===ke?Y.namespaceURI===we&&!Be[be]||Y.namespaceURI===Ae&&!Oe[be]?!1:!Qt[te]&&(dt[te]||!Et[te]):!!(Je==="application/xhtml+xml"&&Pe[R.namespaceURI]):!1},Ct=function(R){dl(e.removed,{element:R});try{R.parentNode.removeChild(R)}catch{R.remove()}},$t=function(R,Y){try{dl(e.removed,{attribute:Y.getAttributeNode(R),from:Y})}catch{dl(e.removed,{attribute:null,from:Y})}if(Y.removeAttribute(R),R==="is"&&!ae[R])if(K||de)try{Ct(Y)}catch{}else try{Y.setAttribute(R,"")}catch{}},Sn=function(R){let Y=null,te=null;if(q)R=""+R;else{const Ve=pKe(R,/^[\r\n\t ]+/);te=Ve&&Ve[0]}Je==="application/xhtml+xml"&&Qe===ke&&(R=''+R+"");const be=v?v.createHTML(R):R;if(Qe===ke)try{Y=new f().parseFromString(be,Je)}catch{}if(!Y||!Y.documentElement){Y=C.createDocument(Qe,"template",null);try{Y.documentElement.innerHTML=ct?S:be}catch{}}const me=Y.body||Y.documentElement;return R&&te&&me.insertBefore(t.createTextNode(te),me.childNodes[0]||null),Qe===ke?k.call(Y,Le?"html":"body")[0]:Le?Y.documentElement:me},bs=function(R){return T.call(R.ownerDocument||R,R,u.SHOW_ELEMENT|u.SHOW_COMMENT|u.SHOW_TEXT,null)},Mr=function(R){return R instanceof h&&(typeof R.nodeName!="string"||typeof R.textContent!="string"||typeof R.removeChild!="function"||!(R.attributes instanceof d)||typeof R.removeAttribute!="function"||typeof R.setAttribute!="function"||typeof R.namespaceURI!="string"||typeof R.insertBefore!="function"||typeof R.hasChildNodes!="function")},ci=function(R){return typeof a=="function"&&R instanceof a},Tn=function(R,Y,te){I[R]&&Uc(I[R],be=>{be.call(e,Y,te,pt)})},di=function(R){let Y=null;if(Tn("beforeSanitizeElements",R,null),Mr(R))return Ct(R),!0;const te=Fe(R.nodeName);if(Tn("uponSanitizeElement",R,{tagName:te,allowedTags:J}),R.hasChildNodes()&&!ci(R.firstElementChild)&&ni(/<[/\w]/g,R.innerHTML)&&ni(/<[/\w]/g,R.textContent))return Ct(R),!0;if(!J[te]||Ee[te]){if(!Ee[te]&&Es(te)&&(ee.tagNameCheck instanceof RegExp&&ni(ee.tagNameCheck,te)||ee.tagNameCheck instanceof Function&&ee.tagNameCheck(te)))return!1;if(pe&&!M[te]){const be=y(R)||R.parentNode,me=g(R)||R.childNodes;if(me&&be){const Ve=me.length;for(let Xe=Ve-1;Xe>=0;--Xe)be.insertBefore(E(me[Xe],!0),b(R))}}return Ct(R),!0}return R instanceof l&&!cn(R)||(te==="noscript"||te==="noembed"||te==="noframes")&&ni(/<\/no(script|embed|frames)/i,R.innerHTML)?(Ct(R),!0):(Ne&&R.nodeType===3&&(Y=R.textContent,Uc([F,B,ne],be=>{Y=ul(Y,be," ")}),R.textContent!==Y&&(dl(e.removed,{element:R.cloneNode()}),R.textContent=Y)),Tn("afterSanitizeElements",R,null),!1)},ji=function(R,Y,te){if(Re&&(Y==="id"||Y==="name")&&(te in t||te in oe))return!1;if(!(Z&&!Ce[Y]&&ni(L,Y))){if(!(Me&&ni($,Y))){if(!ae[Y]||Ce[Y]){if(!(Es(R)&&(ee.tagNameCheck instanceof RegExp&&ni(ee.tagNameCheck,R)||ee.tagNameCheck instanceof Function&&ee.tagNameCheck(R))&&(ee.attributeNameCheck instanceof RegExp&&ni(ee.attributeNameCheck,Y)||ee.attributeNameCheck instanceof Function&&ee.attributeNameCheck(Y))||Y==="is"&&ee.allowCustomizedBuiltInElements&&(ee.tagNameCheck instanceof RegExp&&ni(ee.tagNameCheck,te)||ee.tagNameCheck instanceof Function&&ee.tagNameCheck(te))))return!1}else if(!X[Y]){if(!ni(Q,ul(te,U,""))){if(!((Y==="src"||Y==="xlink:href"||Y==="href")&&R!=="script"&&_Ke(te,"data:")===0&&W[R])){if(!(ye&&!ni(H,ul(te,U,"")))){if(te)return!1}}}}}}return!0},Es=function(R){return R.indexOf("-")>0},ys=function(R){Tn("beforeSanitizeAttributes",R,null);const{attributes:Y}=R;if(!Y)return;const te={attrName:"",attrValue:"",keepAttr:!0,allowedAttributes:ae};let be=Y.length;for(;be--;){const me=Y[be],{name:Ve,namespaceURI:Xe,value:it}=me,at=Fe(Ve);let rt=Ve==="value"?it:hKe(it);if(te.attrName=at,te.attrValue=rt,te.keepAttr=!0,te.forceKeepAttr=void 0,Tn("uponSanitizeAttribute",R,te),rt=te.attrValue,te.forceKeepAttr||($t(Ve,R),!te.keepAttr))continue;if(!fe&&ni(/\/>/i,rt)){$t(Ve,R);continue}Ne&&Uc([F,B,ne],ht=>{rt=ul(rt,ht," ")});const _t=Fe(R.nodeName);if(ji(_t,at,rt)){if(Ie&&(at==="id"||at==="name")&&($t(Ve,R),rt=z+rt),v&&typeof _=="object"&&typeof _.getAttributeType=="function"&&!Xe)switch(_.getAttributeType(_t,at)){case"TrustedHTML":{rt=v.createHTML(rt);break}case"TrustedScriptURL":{rt=v.createScriptURL(rt);break}}try{Xe?R.setAttributeNS(Xe,Ve,rt):R.setAttribute(Ve,rt),_C(e.removed)}catch{}}}Tn("afterSanitizeAttributes",R,null)},vs=function nt(R){let Y=null;const te=bs(R);for(Tn("beforeSanitizeShadowDOM",R,null);Y=te.nextNode();)Tn("uponSanitizeShadowNode",Y,null),!di(Y)&&(Y.content instanceof r&&nt(Y.content),ys(Y));Tn("afterSanitizeShadowDOM",R,null)};return e.sanitize=function(nt){let R=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},Y=null,te=null,be=null,me=null;if(ct=!nt,ct&&(nt=""),typeof nt!="string"&&!ci(nt))if(typeof nt.toString=="function"){if(nt=nt.toString(),typeof nt!="string")throw pl("dirty is not a string, aborting")}else throw pl("toString is not a function");if(!e.isSupported)return nt;if(D||Ue(R),e.removed=[],typeof nt=="string"&&(re=!1),re){if(nt.nodeName){const it=Fe(nt.nodeName);if(!J[it]||Ee[it])throw pl("root node is forbidden and cannot be sanitized in-place")}}else if(nt instanceof a)Y=Sn(""),te=Y.ownerDocument.importNode(nt,!0),te.nodeType===1&&te.nodeName==="BODY"||te.nodeName==="HTML"?Y=te:Y.appendChild(te);else{if(!K&&!Ne&&!Le&&nt.indexOf("<")===-1)return v&&le?v.createHTML(nt):nt;if(Y=Sn(nt),!Y)return K?null:le?S:""}Y&&q&&Ct(Y.firstChild);const Ve=bs(re?nt:Y);for(;be=Ve.nextNode();)di(be)||(be.content instanceof r&&vs(be.content),ys(be));if(re)return nt;if(K){if(de)for(me=O.call(Y.ownerDocument);Y.firstChild;)me.appendChild(Y.firstChild);else me=Y;return(ae.shadowroot||ae.shadowrootmode)&&(me=x.call(i,me,!0)),me}let Xe=Le?Y.outerHTML:Y.innerHTML;return Le&&J["!doctype"]&&Y.ownerDocument&&Y.ownerDocument.doctype&&Y.ownerDocument.doctype.name&&ni(MN,Y.ownerDocument.doctype.name)&&(Xe=" `+Xe),Ne&&Uc([F,B,ne],it=>{Xe=ul(Xe,it," ")}),v&&le?v.createHTML(Xe):Xe},e.setConfig=function(){let nt=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};Ue(nt),D=!0},e.clearConfig=function(){pt=null,D=!1},e.isValidAttribute=function(nt,R,Y){pt||Ue({});const te=Fe(nt),be=Fe(R);return ji(te,be,Y)},e.addHook=function(nt,R){typeof R=="function"&&(I[nt]=I[nt]||[],dl(I[nt],R))},e.removeHook=function(nt){if(I[nt])return _C(I[nt])},e.removeHooks=function(nt){I[nt]&&(I[nt]=[])},e.removeAllHooks=function(){I={}},e}DN();function AKe(n){return n.replace(/&/g,"&").replace(//g,">").replace(/"/g,""").replace(/'/g,"'")}const NKe={name:"MarkdownRenderer",props:{host:{type:String,required:!1,default:"http://localhost:9600"},client_id:{type:String,required:!0},markdownText:{type:String,required:!0},discussion_id:{type:[String,Number],default:"0",required:!1},message_id:{value:"0",type:[String,Number],required:!1}},components:{CodeBlock:cKe},setup(n){const e=new Lbe({html:!0,highlight:(s,r)=>{const o=r&&_o.getLanguage(r)?r:"plaintext";return _o.highlight(o,s).value},renderInline:!0,breaks:!0}).use(BHe).use(jo).use(JHe,{figcaption:!0}).use(p7e).use(WHe,{inlineOpen:"$",inlineClose:"$",blockOpen:"$$",blockClose:"$$"}).use(XHe,{enableRowspan:!0,enableColspan:!0,enableGridTables:!0,enableGridTablesExtra:!0,enableTableIndentation:!0,tableCellPadding:" ",tableCellJoiner:"|",multilineCellStartMarker:"|>",multilineCellEndMarker:"<|",multilineCellPadding:" ",multilineCellJoiner:` -`}),t=ft([]),i=()=>{if(n.markdownText){let s=e.parse(n.markdownText,{}),r=[];t.value=[];for(let o=0;o0&&(t.value.push({type:"html",html:e.renderer.render(r,e.options,{})}),r=[]),t.value.push({type:"code",language:AKe(s[o].info),code:s[o].content}));r.length>0&&(t.value.push({type:"html",html:e.renderer.render(r,e.options,{})}),r=[])}else t.value=[];Ge(()=>{He.replace()})};return qn(()=>n.markdownText,i),Ws(i),{markdownItems:t}}},OKe={class:"break-all container w-full"},IKe={ref:"mdRender",class:"markdown-content"},MKe=["innerHTML"];function DKe(n,e,t,i,s,r){const o=mt("code-block");return w(),A("div",OKe,[c("div",IKe,[(w(!0),A($e,null,lt(i.markdownItems,(a,l)=>(w(),A("div",{key:l},[a.type==="code"?(w(),xt(o,{key:0,host:t.host,language:a.language,code:a.code,discussion_id:t.discussion_id,message_id:t.message_id,client_id:t.client_id},null,8,["host","language","code","discussion_id","message_id","client_id"])):(w(),A("div",{key:1,innerHTML:a.html},null,8,MKe))]))),128))],512)])}const sp=bt(NKe,[["render",DKe]]),kKe={data(){return{show:!1,has_button:!0,message:""}},components:{MarkdownRenderer:sp},methods:{hide(){this.show=!1,this.$emit("ok")},showMessage(n){this.message=n,this.has_button=!0,this.show=!0},showBlockingMessage(n){this.message=n,this.has_button=!1,this.show=!0},updateMessage(n){this.message=n,this.show=!0},hideMessage(){this.show=!1}}},LKe={key:0,class:"fixed top-0 left-0 right-0 bottom-0 flex items-center justify-center bg-black bg-opacity-50 z-50"},PKe={class:"pl-10 pr-10 bg-bg-light dark:bg-bg-dark p-8 rounded-lg shadow-lg"},UKe={class:"container max-h-500 overflow-y-auto"},FKe={class:"text-lg font-medium"},BKe={class:"mt-4 flex justify-center"},GKe={key:1,"aria-hidden":"true",class:"w-6 h-6 animate-spin fill-secondary",viewBox:"0 0 100 101",fill:"none",xmlns:"http://www.w3.org/2000/svg"},VKe=c("path",{d:"M100 50.5908C100 78.2051 77.6142 100.591 50 100.591C22.3858 100.591 0 78.2051 0 50.5908C0 22.9766 22.3858 0.59082 50 0.59082C77.6142 0.59082 100 22.9766 100 50.5908ZM9.08144 50.5908C9.08144 73.1895 27.4013 91.5094 50 91.5094C72.5987 91.5094 90.9186 73.1895 90.9186 50.5908C90.9186 27.9921 72.5987 9.67226 50 9.67226C27.4013 9.67226 9.08144 27.9921 9.08144 50.5908Z",fill:"currentColor"},null,-1),zKe=c("path",{d:"M93.9676 39.0409C96.393 38.4038 97.8624 35.9116 97.0079 33.5539C95.2932 28.8227 92.871 24.3692 89.8167 20.348C85.8452 15.1192 80.8826 10.7238 75.2124 7.41289C69.5422 4.10194 63.2754 1.94025 56.7698 1.05124C51.7666 0.367541 46.6976 0.446843 41.7345 1.27873C39.2613 1.69328 37.813 4.19778 38.4501 6.62326C39.0873 9.04874 41.5694 10.4717 44.0505 10.1071C47.8511 9.54855 51.7191 9.52689 55.5402 10.0491C60.8642 10.7766 65.9928 12.5457 70.6331 15.2552C75.2735 17.9648 79.3347 21.5619 82.5849 25.841C84.9175 28.9121 86.7997 32.2913 88.1811 35.8758C89.083 38.2158 91.5421 39.6781 93.9676 39.0409Z",fill:"currentFill"},null,-1),HKe=[VKe,zKe];function qKe(n,e,t,i,s,r){const o=mt("MarkdownRenderer");return s.show?(w(),A("div",LKe,[c("div",PKe,[c("div",UKe,[c("div",FKe,[Te(o,{ref:"mdRender",host:"","markdown-text":s.message,message_id:0,discussion_id:0},null,8,["markdown-text"])])]),c("div",BKe,[s.has_button?(w(),A("button",{key:0,onClick:e[0]||(e[0]=(...a)=>r.hide&&r.hide(...a)),class:"bg-primary hover:bg-primary-light active:scale-95 duration-150 text-white px-4 py-2 rounded-lg shadow-lg hover:bg-secondary-dark"}," OK ")):V("",!0),s.has_button?V("",!0):(w(),A("svg",GKe,HKe))])])])):V("",!0)}const kN=bt(kKe,[["render",qKe]]);const YKe={props:{progress:{type:Number,required:!0}}},$Ke={class:"progress-bar-container"};function WKe(n,e,t,i,s,r){return w(),A("div",$Ke,[c("div",{class:"progress-bar",style:en({width:`${t.progress}%`})},null,4)])}const nc=bt(YKe,[["render",WKe]]),KKe={setup(){return{}},name:"UniversalForm",data(){return{show:!1,resolve:null,controls_array:[],title:"Universal form",ConfirmButtonText:"Submit",DenyButtonText:"Cancel"}},mounted(){Ge(()=>{He.replace()})},methods:{btn_clicked(n){console.log(n)},hide(n){this.show=!1,this.resolve&&n&&(this.resolve(this.controls_array),this.resolve=null)},showForm(n,e,t,i){this.ConfirmButtonText=t||this.ConfirmButtonText,this.DenyButtonText=i||this.DenyButtonText;for(let s=0;s{this.controls_array=n,this.show=!0,this.title=e||this.title,this.resolve=s,console.log("show form",this.controls_array)})}},watch:{controls_array:{deep:!0,handler(n){n.forEach(e=>{e.type==="int"?e.value=parseInt(e.value):e.type==="float"&&(e.value=parseFloat(e.value))})}},show(){Ge(()=>{He.replace()})}}},jKe={key:0,class:"fixed top-0 left-0 right-0 bottom-0 flex items-center justify-center bg-black bg-opacity-50 p-4"},QKe={class:"relative w-full max-w-md"},XKe={class:"flex flex-col rounded-lg bg-bg-light-tone-panel dark:bg-bg-dark-tone-panel duration-150 shadow-lg max-h-screen"},ZKe={class:"flex flex-row flex-grow items-center m-2 p-1"},JKe={class:"grow flex items-center"},eje=c("i",{"data-feather":"sliders",class:"mr-2 flex-shrink-0"},null,-1),tje={class:"text-lg font-semibold select-none mr-2"},nje={class:"items-end"},ije=c("svg",{"aria-hidden":"true",class:"w-5 h-5",fill:"currentColor",viewBox:"0 0 20 20",xmlns:"http://www.w3.org/2000/svg"},[c("path",{"fill-rule":"evenodd",d:"M4.293 4.293a1 1 0 011.414 0L10 8.586l4.293-4.293a1 1 0 111.414 1.414L11.414 10l4.293 4.293a1 1 0 01-1.414 1.414L10 11.414l-4.293 4.293a1 1 0 01-1.414-1.414L8.586 10 4.293 5.707a1 1 0 010-1.414z","clip-rule":"evenodd"})],-1),sje=c("span",{class:"sr-only"},"Close form modal",-1),rje=[ije,sje],oje={class:"flex flex-col relative no-scrollbar overflow-y-scroll p-2"},aje={class:"px-2"},lje={key:0},cje={key:0},dje={class:"text-base font-semibold"},uje={key:0,class:"relative inline-flex"},pje=["onUpdate:modelValue"],_je=c("div",{class:"hover:text-secondary duration-75 active:scale-90 peer-checked:text-primary"},[c("i",{"data-feather":"help-circle",class:"w-5 h-5"})],-1),hje={key:0,class:"text-sm font-normal text-gray-700 dark:text-gray-400 mb-2"},fje=["onUpdate:modelValue"],mje={key:1},gje={class:"text-base font-semibold"},bje={key:0,class:"relative inline-flex"},Eje=["onUpdate:modelValue"],yje=c("div",{class:"hover:text-secondary duration-75 active:scale-90 peer-checked:text-primary"},[c("i",{"data-feather":"help-circle",class:"w-5 h-5"})],-1),vje={key:0,class:"text-sm font-normal text-gray-700 dark:text-gray-400 mb-2"},Sje=["onUpdate:modelValue"],Tje=["value","selected"],xje={key:1},Cje={class:"",onclick:"btn_clicked(item)"},wje={key:2},Rje={key:0},Aje={class:"text-base font-semibold"},Nje={key:0,class:"relative inline-flex"},Oje=["onUpdate:modelValue"],Ije=c("div",{class:"hover:text-secondary duration-75 active:scale-90 peer-checked:text-primary"},[c("i",{"data-feather":"help-circle",class:"w-5 h-5"})],-1),Mje={key:0,class:"text-sm font-normal text-gray-700 dark:text-gray-400 mb-2"},Dje=["onUpdate:modelValue"],kje={key:1},Lje={class:"text-base font-semibold"},Pje={key:0,class:"relative inline-flex"},Uje=["onUpdate:modelValue"],Fje=c("div",{class:"hover:text-secondary duration-75 active:scale-90 peer-checked:text-primary"},[c("i",{"data-feather":"help-circle",class:"w-5 h-5"})],-1),Bje={key:0,class:"text-sm font-normal text-gray-700 dark:text-gray-400 mb-2"},Gje=["onUpdate:modelValue"],Vje=["value","selected"],zje={key:3},Hje={class:"text-base font-semibold"},qje={key:0,class:"relative inline-flex"},Yje=["onUpdate:modelValue"],$je=c("div",{class:"hover:text-secondary duration-75 active:scale-90 peer-checked:text-primary"},[c("i",{"data-feather":"help-circle",class:"w-5 h-5"})],-1),Wje={key:0,class:"text-sm font-normal text-gray-700 dark:text-gray-400 mb-2"},Kje=["onUpdate:modelValue"],jje=["onUpdate:modelValue","min","max"],Qje={key:4},Xje={class:"text-base font-semibold"},Zje={key:0,class:"relative inline-flex"},Jje=["onUpdate:modelValue"],eQe=c("div",{class:"hover:text-secondary duration-75 active:scale-90 peer-checked:text-primary"},[c("i",{"data-feather":"help-circle",class:"w-5 h-5"})],-1),tQe={key:0,class:"text-sm font-normal text-gray-700 dark:text-gray-400 mb-2"},nQe=["onUpdate:modelValue"],iQe=["onUpdate:modelValue","min","max"],sQe={key:5},rQe={class:"mb-2 relative flex items-center gap-2"},oQe={for:"default-checkbox",class:"text-base font-semibold"},aQe=["onUpdate:modelValue"],lQe={key:0,class:"relative inline-flex"},cQe=["onUpdate:modelValue"],dQe=c("div",{class:"hover:text-secondary duration-75 active:scale-90 peer-checked:text-primary"},[c("i",{"data-feather":"help-circle",class:"w-5 h-5"})],-1),uQe={key:0,class:"text-sm font-normal text-gray-700 dark:text-gray-400 mb-2"},pQe={key:6},_Qe={class:"text-base font-semibold"},hQe={key:0,class:"relative inline-flex"},fQe=["onUpdate:modelValue"],mQe=c("div",{class:"hover:text-secondary duration-75 active:scale-90 peer-checked:text-primary"},[c("i",{"data-feather":"help-circle",class:"w-5 h-5"})],-1),gQe={key:0,class:"text-sm font-normal text-gray-700 dark:text-gray-400 mb-2"},bQe=["onUpdate:modelValue"],EQe=c("hr",{class:"h-px my-4 bg-gray-200 border-0 dark:bg-gray-700"},null,-1),yQe={class:"flex flex-row flex-grow gap-3"},vQe={class:"p-2 text-center grow"};function SQe(n,e,t,i,s,r){return s.show?(w(),A("div",jKe,[c("div",QKe,[c("div",XKe,[c("div",ZKe,[c("div",JKe,[eje,c("h3",tje,he(s.title),1)]),c("div",nje,[c("button",{type:"button",onClick:e[0]||(e[0]=ge(o=>r.hide(!1),["stop"])),title:"Close",class:"bg-transparent hover:bg-gray-200 hover:text-gray-900 rounded-lg text-sm p-1.5 ml-auto inline-flex items-center dark:hover:bg-gray-800 dark:hover:text-white"},rje)])]),c("div",oje,[(w(!0),A($e,null,lt(s.controls_array,(o,a)=>(w(),A("div",aje,[o.type=="str"||o.type=="string"?(w(),A("div",lje,[o.options?V("",!0):(w(),A("div",cje,[c("label",{class:ze(["mb-2 relative flex items-center gap-2 text-sm font-medium text-gray-900 dark:text-white select-none",o.help?"cursor-pointer ":""])},[c("div",dje,he(o.name)+": ",1),o.help?(w(),A("label",uje,[G(c("input",{type:"checkbox","onUpdate:modelValue":l=>o.isHelp=l,class:"sr-only peer"},null,8,pje),[[Ze,o.isHelp]]),_je])):V("",!0)],2),o.isHelp?(w(),A("p",hje,he(o.help),1)):V("",!0),G(c("input",{type:"text","onUpdate:modelValue":l=>o.value=l,class:"bg-gray-50 border border-gray-300 text-gray-900 text-sm rounded-lg focus:ring-blue-500 focus:border-blue-500 block w-full p-2.5 dark:bg-gray-700 dark:border-gray-600 dark:placeholder-gray-400 dark:text-white dark:focus:ring-blue-500 dark:focus:border-blue-500",placeholder:"Enter string"},null,8,fje),[[xe,o.value]])])),o.options?(w(),A("div",mje,[c("label",{class:ze(["mb-2 relative flex items-center gap-2 text-sm font-medium text-gray-900 dark:text-white select-none",o.help?"cursor-pointer ":""])},[c("div",gje,he(o.name)+": ",1),o.help?(w(),A("label",bje,[G(c("input",{type:"checkbox","onUpdate:modelValue":l=>o.isHelp=l,class:"sr-only peer"},null,8,Eje),[[Ze,o.isHelp]]),yje])):V("",!0)],2),o.isHelp?(w(),A("p",vje,he(o.help),1)):V("",!0),G(c("select",{"onUpdate:modelValue":l=>o.value=l,class:"bg-gray-50 border border-gray-300 text-gray-900 text-sm rounded-lg focus:ring-blue-500 focus:border-blue-500 block w-full p-2.5 dark:bg-gray-700 dark:border-gray-600 dark:placeholder-gray-400 dark:text-white dark:focus:ring-blue-500 dark:focus:border-blue-500"},[(w(!0),A($e,null,lt(o.options,l=>(w(),A("option",{value:l,selected:o.value===l},he(l),9,Tje))),256))],8,Sje),[[Wt,o.value]])])):V("",!0)])):V("",!0),o.type=="btn"?(w(),A("div",xje,[c("button",Cje,he(o.name),1)])):V("",!0),o.type=="text"?(w(),A("div",wje,[o.options?V("",!0):(w(),A("div",Rje,[c("label",{class:ze(["mb-2 relative flex items-center gap-2 text-sm font-medium text-gray-900 dark:text-white select-none",o.help?"cursor-pointer ":""])},[c("div",Aje,he(o.name)+": ",1),o.help?(w(),A("label",Nje,[G(c("input",{type:"checkbox","onUpdate:modelValue":l=>o.isHelp=l,class:"sr-only peer"},null,8,Oje),[[Ze,o.isHelp]]),Ije])):V("",!0)],2),o.isHelp?(w(),A("p",Mje,he(o.help),1)):V("",!0),G(c("textarea",{"onUpdate:modelValue":l=>o.value=l,class:"bg-gray-50 border border-gray-300 text-gray-900 text-sm rounded-lg focus:ring-blue-500 focus:border-blue-500 block w-full p-2.5 dark:bg-gray-700 dark:border-gray-600 dark:placeholder-gray-400 dark:text-white dark:focus:ring-blue-500 dark:focus:border-blue-500",placeholder:"Enter string"},null,8,Dje),[[xe,o.value]])])),o.options?(w(),A("div",kje,[c("label",{class:ze(["mb-2 relative flex items-center gap-2 text-sm font-medium text-gray-900 dark:text-white select-none",o.help?"cursor-pointer ":""])},[c("div",Lje,he(o.name)+": ",1),o.help?(w(),A("label",Pje,[G(c("input",{type:"checkbox","onUpdate:modelValue":l=>o.isHelp=l,class:"sr-only peer"},null,8,Uje),[[Ze,o.isHelp]]),Fje])):V("",!0)],2),o.isHelp?(w(),A("p",Bje,he(o.help),1)):V("",!0),G(c("select",{"onUpdate:modelValue":l=>o.value=l,class:"bg-gray-50 border border-gray-300 text-gray-900 text-sm rounded-lg focus:ring-blue-500 focus:border-blue-500 block w-full p-2.5 dark:bg-gray-700 dark:border-gray-600 dark:placeholder-gray-400 dark:text-white dark:focus:ring-blue-500 dark:focus:border-blue-500"},[(w(!0),A($e,null,lt(o.options,l=>(w(),A("option",{value:l,selected:o.value===l},he(l),9,Vje))),256))],8,Gje),[[Wt,o.value]])])):V("",!0)])):V("",!0),o.type=="int"?(w(),A("div",zje,[c("label",{class:ze(["mb-2 relative flex items-center gap-2 text-sm font-medium text-gray-900 dark:text-white select-none",o.help?"cursor-pointer ":""])},[c("div",Hje,he(o.name)+": ",1),o.help?(w(),A("label",qje,[G(c("input",{type:"checkbox","onUpdate:modelValue":l=>o.isHelp=l,class:"sr-only peer"},null,8,Yje),[[Ze,o.isHelp]]),$je])):V("",!0)],2),o.isHelp?(w(),A("p",Wje,he(o.help),1)):V("",!0),G(c("input",{type:"number","onUpdate:modelValue":l=>o.value=l,step:"1",class:"bg-gray-50 border border-gray-300 text-gray-900 text-sm rounded-lg focus:ring-blue-500 focus:border-blue-500 block w-full p-2.5 dark:bg-gray-700 dark:border-gray-600 dark:placeholder-gray-400 dark:text-white dark:focus:ring-blue-500 dark:focus:border-blue-500",placeholder:"Enter number"},null,8,Kje),[[xe,o.value]]),o.min!=null&&o.max!=null?G((w(),A("input",{key:1,type:"range","onUpdate:modelValue":l=>o.value=l,min:o.min,max:o.max,step:"1",class:"flex-none h-2 w-full bg-gray-200 rounded-lg appearance-none cursor-pointer dark:bg-gray-700 focus:ring-blue-500 focus:border-blue-500 dark:border-gray-600 dark:placeholder-gray-400 dark:focus:ring-blue-500 dark:focus:border-blue-500"},null,8,jje)),[[xe,o.value]]):V("",!0)])):V("",!0),o.type=="float"?(w(),A("div",Qje,[c("label",{class:ze(["mb-2 relative flex items-center gap-2 text-sm font-medium text-gray-900 dark:text-white select-none",o.help?"cursor-pointer ":""])},[c("div",Xje,he(o.name)+": ",1),o.help?(w(),A("label",Zje,[G(c("input",{type:"checkbox","onUpdate:modelValue":l=>o.isHelp=l,class:"sr-only peer"},null,8,Jje),[[Ze,o.isHelp]]),eQe])):V("",!0)],2),o.isHelp?(w(),A("p",tQe,he(o.help),1)):V("",!0),G(c("input",{type:"number","onUpdate:modelValue":l=>o.value=l,class:"bg-gray-50 border border-gray-300 text-gray-900 text-sm rounded-lg focus:ring-blue-500 focus:border-blue-500 block w-full p-2.5 dark:bg-gray-700 dark:border-gray-600 dark:placeholder-gray-400 dark:text-white dark:focus:ring-blue-500 dark:focus:border-blue-500",placeholder:"Enter number"},null,8,nQe),[[xe,o.value]]),o.min!=null&&o.max!=null?G((w(),A("input",{key:1,type:"range","onUpdate:modelValue":l=>o.value=l,min:o.min,max:o.max,step:"0.1",class:"flex-none h-2 w-full bg-gray-200 rounded-lg appearance-none cursor-pointer dark:bg-gray-700 focus:ring-blue-500 focus:border-blue-500 dark:border-gray-600 dark:placeholder-gray-400 dark:focus:ring-blue-500 dark:focus:border-blue-500"},null,8,iQe)),[[xe,o.value]]):V("",!0)])):V("",!0),o.type=="bool"?(w(),A("div",sQe,[c("div",rQe,[c("label",oQe,he(o.name)+": ",1),G(c("input",{type:"checkbox","onUpdate:modelValue":l=>o.value=l,class:"w-4 h-4 text-blue-600 bg-gray-100 border-gray-300 rounded focus:ring-blue-500 dark:focus:ring-blue-600 dark:ring-offset-gray-800 focus:ring-2 dark:bg-gray-700 dark:border-gray-600"},null,8,aQe),[[Ze,o.value]]),o.help?(w(),A("label",lQe,[G(c("input",{type:"checkbox","onUpdate:modelValue":l=>o.isHelp=l,class:"sr-only peer"},null,8,cQe),[[Ze,o.isHelp]]),dQe])):V("",!0)]),o.isHelp?(w(),A("p",uQe,he(o.help),1)):V("",!0)])):V("",!0),o.type=="list"?(w(),A("div",pQe,[c("label",{class:ze(["mb-2 relative flex items-center gap-2 text-sm font-medium text-gray-900 dark:text-white select-none",o.help?"cursor-pointer ":""])},[c("div",_Qe,he(o.name)+": ",1),o.help?(w(),A("label",hQe,[G(c("input",{type:"checkbox","onUpdate:modelValue":l=>o.isHelp=l,class:"sr-only peer"},null,8,fQe),[[Ze,o.isHelp]]),mQe])):V("",!0)],2),o.isHelp?(w(),A("p",gQe,he(o.help),1)):V("",!0),G(c("input",{type:"text","onUpdate:modelValue":l=>o.value=l,class:"bg-gray-50 border border-gray-300 text-gray-900 text-sm rounded-lg focus:ring-blue-500 focus:border-blue-500 block w-full p-2.5 dark:bg-gray-700 dark:border-gray-600 dark:placeholder-gray-400 dark:text-white dark:focus:ring-blue-500 dark:focus:border-blue-500",placeholder:"Enter comma separated values"},null,8,bQe),[[xe,o.value]])])):V("",!0),EQe]))),256)),c("div",yQe,[c("div",vQe,[c("button",{onClick:e[1]||(e[1]=ge(o=>r.hide(!0),["stop"])),type:"button",class:"mr-2 text-white bg-blue-700 hover:bg-blue-800 focus:ring-4 focus:outline-none focus:ring-blue-300 font-medium rounded-lg text-sm sm:w-auto px-5 py-2.5 text-center dark:bg-blue-600 dark:hover:bg-blue-700 dark:focus:ring-blue-800"},he(s.ConfirmButtonText),1),c("button",{onClick:e[2]||(e[2]=ge(o=>r.hide(!1),["stop"])),type:"button",class:"text-gray-500 bg-white hover:bg-gray-100 focus:ring-4 focus:outline-none focus:ring-gray-200 rounded-lg border border-gray-200 text-sm font-medium px-5 py-2.5 hover:text-gray-900 focus:z-11 dark:bg-gray-700 dark:text-gray-300 dark:border-gray-500 dark:hover:text-white dark:hover:bg-gray-600 dark:focus:ring-gray-600"},he(s.DenyButtonText),1)])])])])])])):V("",!0)}const bc=bt(KKe,[["render",SQe]]),TQe={data(){return{show:!1,message:"",resolve:null,ConfirmButtonText:"Yes, I'm sure",DenyButtonText:"No, cancel"}},methods:{hide(n){this.show=!1,this.resolve&&(this.resolve(n),this.resolve=null)},askQuestion(n,e,t){return this.ConfirmButtonText=e||this.ConfirmButtonText,this.DenyButtonText=t||this.DenyButtonText,new Promise(i=>{this.message=n,this.show=!0,this.resolve=i})}}},xQe={key:0,class:"fixed top-0 left-0 right-0 bottom-0 flex items-center justify-center bg-black bg-opacity-50"},CQe={class:"relative w-full max-w-md max-h-full"},wQe={class:"relative bg-white rounded-lg shadow dark:bg-gray-700"},RQe=c("svg",{"aria-hidden":"true",class:"w-5 h-5",fill:"currentColor",viewBox:"0 0 20 20",xmlns:"http://www.w3.org/2000/svg"},[c("path",{"fill-rule":"evenodd",d:"M4.293 4.293a1 1 0 011.414 0L10 8.586l4.293-4.293a1 1 0 111.414 1.414L11.414 10l4.293 4.293a1 1 0 01-1.414 1.414L10 11.414l-4.293 4.293a1 1 0 01-1.414-1.414L8.586 10 4.293 5.707a1 1 0 010-1.414z","clip-rule":"evenodd"})],-1),AQe=c("span",{class:"sr-only"},"Close modal",-1),NQe=[RQe,AQe],OQe={class:"p-4 text-center"},IQe=c("svg",{"aria-hidden":"true",class:"mx-auto mb-4 text-gray-400 w-14 h-14 dark:text-gray-200",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24",xmlns:"http://www.w3.org/2000/svg"},[c("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M12 8v4m0 4h.01M21 12a9 9 0 11-18 0 9 9 0 0118 0z"})],-1),MQe={class:"mb-5 text-lg font-normal text-gray-500 dark:text-gray-400 select-none break-all"};function DQe(n,e,t,i,s,r){return s.show?(w(),A("div",xQe,[c("div",CQe,[c("div",wQe,[c("button",{type:"button",onClick:e[0]||(e[0]=o=>r.hide(!1)),class:"absolute top-3 right-2.5 text-gray-400 bg-transparent hover:bg-gray-200 hover:text-gray-900 rounded-lg text-sm p-1.5 ml-auto inline-flex items-center dark:hover:bg-gray-800 dark:hover:text-white"},NQe),c("div",OQe,[IQe,c("h3",MQe,he(s.message),1),c("button",{onClick:e[1]||(e[1]=o=>r.hide(!0)),type:"button",class:"text-white bg-red-600 hover:bg-red-800 focus:ring-4 focus:outline-none focus:ring-red-300 dark:focus:ring-red-800 font-medium rounded-lg text-sm inline-flex items-center px-5 py-2.5 text-center mr-2"},he(s.ConfirmButtonText),1),c("button",{onClick:e[2]||(e[2]=o=>r.hide(!1)),type:"button",class:"text-gray-500 bg-white hover:bg-gray-100 focus:ring-4 focus:outline-none focus:ring-gray-200 rounded-lg border border-gray-200 text-sm font-medium px-5 py-2.5 hover:text-gray-900 focus:z-10 dark:bg-gray-700 dark:text-gray-300 dark:border-gray-500 dark:hover:text-white dark:hover:bg-gray-600 dark:focus:ring-gray-600"},he(s.DenyButtonText),1)])])])])):V("",!0)}const LN=bt(TQe,[["render",DQe]]),kQe={props:{personality:{type:Object,required:!0},config:{type:Object,required:!0}},data(){return{show:!1,title:"Add AI Agent",iconUrl:"",file:null,tempConfig:{}}},methods:{showForm(){this.showDialog=!0},hideForm(){this.showDialog=!1},selectIcon(n){n.target.files&&(this.file=n.target.files[0],this.iconUrl=URL.createObjectURL(this.file))},showPanel(){this.show=!0},hide(){this.show=!1},submitForm(){Se.post("/set_personality_config",{client_id:this.$store.state.client_id,category:this.personality.category,name:this.personality.folder,config:this.config}).then(n=>{const e=n.data;console.log("Done"),e.status?(this.currentPersonConfig=e.config,this.showPersonalityEditor=!0):console.error(e.error)}).catch(n=>{console.error(n)})}}},LQe={key:0,class:"fixed top-0 left-0 right-0 bottom-0 flex items-center justify-center bg-black bg-opacity-50 z-20"},PQe={class:"relative w-full max-h-full bg-bg-light dark:bg-bg-dark"},UQe={class:"w-full h-full relative items-center gap-2 rounded-lg border bg-bg-light dark:bg-bg-dark p-1.5 shadow-sm hover:shadow-none dark:border-gray-800 dark:bg-gray-900"},FQe=c("svg",{"aria-hidden":"true",class:"w-5 h-5",fill:"currentColor",viewBox:"0 0 20 20",xmlns:"http://www.w3.org/2000/svg"},[c("path",{"fill-rule":"evenodd",d:"M4.293 4.293a1 1 0 011.414 0L10 8.586l4.293-4.293a1 1 0 111.414 1.414L11.414 10l4.293 4.293a1 1 0 01-1.414 1.414L10 11.414l-4.293 4.293a1 1 0 01-1.414-1.414L8.586 10 4.293 5.707a1 1 0 010-1.414z","clip-rule":"evenodd"})],-1),BQe=c("span",{class:"sr-only"},"Close modal",-1),GQe=[FQe,BQe],VQe={class:"justify-center text-center items-center w-full bg-bg-light dark:bg-bg-dark"},zQe={class:"w-full flex flex-row mt-4 text-center justify-center"},HQe={class:"w-full max-h-full container bg-bg-light dark:bg-bg-dark"},qQe={class:"mb-4 w-full"},YQe={class:"w-full bg-bg-light dark:bg-bg-dark"},$Qe=c("td",null,[c("label",{for:"personalityConditioning"},"Personality Conditioning:")],-1),WQe=c("td",null,[c("label",{for:"userMessagePrefix"},"User Message Prefix:")],-1),KQe=c("td",null,[c("label",{for:"aiMessagePrefix"},"AI Message Prefix:")],-1),jQe=c("td",null,[c("label",{for:"linkText"},"Link Text:")],-1),QQe=c("td",null,[c("label",{for:"welcomeMessage"},"Welcome Message:")],-1),XQe=c("td",null,[c("label",{for:"modelTemperature"},"Model Temperature:")],-1),ZQe=c("td",null,[c("label",{for:"modelTopK"},"Model Top K:")],-1),JQe=c("td",null,[c("label",{for:"modelTopP"},"Model Top P:")],-1),eXe=c("td",null,[c("label",{for:"modelRepeatPenalty"},"Model Repeat Penalty:")],-1),tXe=c("td",null,[c("label",{for:"modelRepeatLastN"},"Model Repeat Last N:")],-1),nXe=c("td",null,[c("label",{for:"recommendedBinding"},"Recommended Binding:")],-1),iXe=c("td",null,[c("label",{for:"recommendedModel"},"Recommended Model:")],-1),sXe=c("td",null,[c("label",{class:"dark:bg-black dark:text-primary w-full",for:"dependencies"},"Dependencies:")],-1),rXe=c("td",null,[c("label",{for:"antiPrompts"},"Anti Prompts:")],-1);function oXe(n,e,t,i,s,r){return s.show?(w(),A("div",LQe,[c("div",PQe,[c("div",UQe,[c("button",{type:"button",onClick:e[0]||(e[0]=o=>r.hide()),class:"absolute top-1 right-2.5 text-gray-400 bg-transparent hover:bg-gray-200 hover:text-gray-900 rounded-lg text-sm p-1.5 ml-auto inline-flex items-center dark:hover:bg-gray-800 dark:hover:text-white"},GQe),c("div",VQe,[c("div",zQe,[c("button",{type:"submit",onClick:e[1]||(e[1]=ge((...o)=>r.submitForm&&r.submitForm(...o),["prevent"])),class:"bg-blue-500 hover:bg-blue-700 text-white font-bold py-2 px-4 rounded"}," Commit AI to Server "),c("button",{onClick:e[2]||(e[2]=ge(o=>r.hide(),["prevent"])),class:"bg-blue-500 hover:bg-blue-700 text-white font-bold py-2 px-4 rounded"}," Close ")]),c("div",HQe,[c("form",qQe,[c("table",YQe,[c("tr",null,[$Qe,c("td",null,[G(c("textarea",{class:"dark:bg-black dark:text-primary w-full",id:"personalityConditioning","onUpdate:modelValue":e[3]||(e[3]=o=>t.config.personality_conditioning=o)},null,512),[[xe,t.config.personality_conditioning]])])]),c("tr",null,[WQe,c("td",null,[G(c("input",{class:"dark:bg-black dark:text-primary w-full",type:"text",id:"userMessagePrefix","onUpdate:modelValue":e[4]||(e[4]=o=>t.config.user_message_prefix=o)},null,512),[[xe,t.config.user_message_prefix]])])]),c("tr",null,[KQe,c("td",null,[G(c("input",{class:"dark:bg-black dark:text-primary w-full",type:"text",id:"aiMessagePrefix","onUpdate:modelValue":e[5]||(e[5]=o=>t.config.ai_message_prefix=o)},null,512),[[xe,t.config.ai_message_prefix]])])]),c("tr",null,[jQe,c("td",null,[G(c("input",{class:"dark:bg-black dark:text-primary w-full",type:"text",id:"linkText","onUpdate:modelValue":e[6]||(e[6]=o=>t.config.link_text=o)},null,512),[[xe,t.config.link_text]])])]),c("tr",null,[QQe,c("td",null,[G(c("textarea",{class:"dark:bg-black dark:text-primary w-full",id:"welcomeMessage","onUpdate:modelValue":e[7]||(e[7]=o=>t.config.welcome_message=o)},null,512),[[xe,t.config.welcome_message]])])]),c("tr",null,[XQe,c("td",null,[G(c("input",{type:"number",id:"modelTemperature","onUpdate:modelValue":e[8]||(e[8]=o=>t.config.model_temperature=o)},null,512),[[xe,t.config.model_temperature]])])]),c("tr",null,[ZQe,c("td",null,[G(c("input",{class:"dark:bg-black dark:text-primary w-full",type:"number",id:"modelTopK","onUpdate:modelValue":e[9]||(e[9]=o=>t.config.model_top_k=o)},null,512),[[xe,t.config.model_top_k]])])]),c("tr",null,[JQe,c("td",null,[G(c("input",{class:"dark:bg-black dark:text-primary w-full",type:"number",id:"modelTopP","onUpdate:modelValue":e[10]||(e[10]=o=>t.config.model_top_p=o)},null,512),[[xe,t.config.model_top_p]])])]),c("tr",null,[eXe,c("td",null,[G(c("input",{class:"dark:bg-black dark:text-primary w-full",type:"number",id:"modelRepeatPenalty","onUpdate:modelValue":e[11]||(e[11]=o=>t.config.model_repeat_penalty=o)},null,512),[[xe,t.config.model_repeat_penalty]])])]),c("tr",null,[tXe,c("td",null,[G(c("input",{class:"dark:bg-black dark:text-primary w-full",type:"number",id:"modelRepeatLastN","onUpdate:modelValue":e[12]||(e[12]=o=>t.config.model_repeat_last_n=o)},null,512),[[xe,t.config.model_repeat_last_n]])])]),c("tr",null,[nXe,c("td",null,[G(c("input",{class:"dark:bg-black dark:text-primary w-full",type:"text",id:"recommendedBinding","onUpdate:modelValue":e[13]||(e[13]=o=>t.config.recommended_binding=o)},null,512),[[xe,t.config.recommended_binding]])])]),c("tr",null,[iXe,c("td",null,[G(c("input",{class:"dark:bg-black dark:text-primary w-full",type:"text",id:"recommendedModel","onUpdate:modelValue":e[14]||(e[14]=o=>t.config.recommended_model=o)},null,512),[[xe,t.config.recommended_model]])])]),c("tr",null,[sXe,c("td",null,[G(c("textarea",{class:"dark:bg-black dark:text-primary w-full",id:"dependencies","onUpdate:modelValue":e[15]||(e[15]=o=>t.config.dependencies=o)},null,512),[[xe,t.config.dependencies]])])]),c("tr",null,[rXe,c("td",null,[G(c("textarea",{class:"dark:bg-black dark:text-primary w-full",id:"antiPrompts","onUpdate:modelValue":e[16]||(e[16]=o=>t.config.anti_prompts=o)},null,512),[[xe,t.config.anti_prompts]])])])])])])])])])])):V("",!0)}const PN=bt(kQe,[["render",oXe]]);const aXe={data(){return{showPopup:!1,webpageUrl:"https://lollms.com/"}},methods:{show(){this.showPopup=!0},hide(){this.showPopup=!1},save_configuration(){Se.post("/apply_settings",{client_id:this.$store.state.client_id,config:this.$store.state.config}).then(n=>{this.isLoading=!1,n.data.status?(this.$store.state.toast.showToast("Configuration changed successfully.",4,!0),this.settingsChanged=!1):this.$store.state.toast.showToast("Configuration change failed.",4,!1)})}}},lXe=n=>(yo("data-v-d504dfc9"),n=n(),vo(),n),cXe={key:0,class:"fixed inset-0 flex items-center justify-center z-50"},dXe={class:"popup-container"},uXe=["src"],pXe={class:"checkbox-container"},_Xe=lXe(()=>c("label",{for:"startup",class:"checkbox-label"},"Show at startup",-1));function hXe(n,e,t,i,s,r){return w(),xt(Vi,{name:"fade"},{default:We(()=>[s.showPopup?(w(),A("div",cXe,[c("div",dXe,[c("button",{onClick:e[0]||(e[0]=(...o)=>r.hide&&r.hide(...o)),class:"close-button"}," X "),c("iframe",{src:s.webpageUrl,class:"iframe-content"},null,8,uXe),c("div",pXe,[G(c("input",{type:"checkbox",id:"startup",class:"styled-checkbox","onUpdate:modelValue":e[1]||(e[1]=o=>this.$store.state.config.show_news_panel=o),onChange:e[2]||(e[2]=(...o)=>r.save_configuration&&r.save_configuration(...o))},null,544),[[Ze,this.$store.state.config.show_news_panel]]),_Xe])])])):V("",!0)]),_:1})}const UN=bt(aXe,[["render",hXe],["__scopeId","data-v-d504dfc9"]]),FN="/assets/fastapi-4a6542d0.png",BN="/assets/discord-6817c341.svg";const fXe={key:0,class:"container z-60 flex flex-col sm:flex-row items-center"},mXe={class:"w-full text-center"},gXe={class:"m-0 flex border-b w-full items-center justify-center flex flex-row font-medium nav-ul text-center"},bXe={name:"Navigation",data(){return{}},methods:{isRouteActive(n){try{return this.$route.name===n}catch{return console.log("routeName not found"),False}}}},GN=Object.assign(bXe,{setup(n){return(e,t)=>e.$store.state.ready?(w(),A("div",fXe,[c("div",mXe,[c("div",gXe,[Te(yt(ks),{to:{name:"discussions"},class:ze(["inline-block border-l border-t border-r rounded-t py-2 px-4 text-blue-700 font-semibold",{"text-green-600 hover:text-green-500 dark:text-green-100 font-bold bg-bg-secondary shadow-no-bottom":e.isRouteActive("discussions"),"bounce-in":e.isRouteActive("discussions")}])},{default:We(()=>[et(" Discussions ")]),_:1},8,["class"]),Te(yt(ks),{to:{name:"playground"},class:ze(["inline-block border-l border-t border-r rounded-t py-2 px-4 text-blue-700 font-semibold",{"text-green-600 hover:text-green-500 dark:text-green-100 font-bold bg-bg-secondary shadow-no-bottom":e.isRouteActive("playground"),"bounce-in":e.isRouteActive("playground")}])},{default:We(()=>[et(" Playground ")]),_:1},8,["class"]),e.$store.state.config.enable_sd_service|e.$store.state.config.active_tti_service=="autosd"?(w(),xt(yt(ks),{key:0,to:{name:"AutoSD"},class:ze(["inline-block border-l border-t border-r rounded-t py-2 px-4 text-blue-700 font-semibold",{"text-green-600 hover:text-green-500 dark:text-green-100 font-bold bg-bg-secondary shadow-no-bottom":e.isRouteActive("AutoSD"),"bounce-in":e.isRouteActive("AutoSD")}])},{default:We(()=>[et(" Auto111-SD ")]),_:1},8,["class"])):V("",!0),e.$store.state.config.enable_comfyui_service|e.$store.state.config.active_tti_service=="comfyui"?(w(),xt(yt(ks),{key:1,to:{name:"ComfyUI"},class:ze(["inline-block border-l border-t border-r rounded-t py-2 px-4 text-blue-700 font-semibold",{"text-green-600 hover:text-green-500 dark:text-green-100 font-bold bg-bg-secondary shadow-no-bottom":e.isRouteActive("ComfyUI"),"bounce-in":e.isRouteActive("ComfyUI")}])},{default:We(()=>[et(" ComfyUI ")]),_:1},8,["class"])):V("",!0),e.$store.state.config.active_tts_service!="None"&e.$store.state.config.active_stt_service!="None"?(w(),xt(yt(ks),{key:2,to:{name:"interactive"},class:ze(["inline-block border-l border-t border-r rounded-t py-2 px-4 text-blue-700 font-semibold",{"text-green-600 hover:text-green-500 dark:text-green-100 font-bold bg-bg-secondary shadow-no-bottom":e.isRouteActive("interactive"),"bounce-in":e.isRouteActive("interactive")}])},{default:We(()=>[et(" interactive ")]),_:1},8,["class"])):V("",!0),Te(yt(ks),{to:{name:"settings"},class:ze(["inline-block border-l border-t border-r rounded-t py-2 px-4 text-blue-700 font-semibold",{"text-green-600 hover:text-green-500 dark:text-green-100 font-bold bg-bg-secondary shadow-no-bottom":e.isRouteActive("settings"),"bounce-in":e.isRouteActive("settings")}])},{default:We(()=>[et(" Settings ")]),_:1},8,["class"]),Te(yt(ks),{to:{name:"help_view"},class:ze(["inline-block border-l border-t border-r rounded-t py-2 px-4 text-blue-700 font-semibold",{"text-green-600 hover:text-green-500 dark:text-green-100 font-bold bg-bg-secondary shadow-no-bottom":e.isRouteActive("help_view"),"bounce-in":e.isRouteActive("help_view")}])},{default:We(()=>[et(" Help ")]),_:1},8,["class"])])])])):V("",!0)}}),VN="/assets/static_info-b284ded1.svg",EXe="/assets/animated_info-7edcb0f9.svg",Ti="/assets/logo-023c77a1.png",zN="/assets/fun_mode-14669a57.svg",HN="/assets/normal_mode-f539f08d.svg";const yXe={class:"top-0 shadow-lg"},vXe={class:"container flex flex-col lg:flex-row item-center gap-2 pb-0"},SXe={class:"flex items-center gap-3 flex-1"},TXe=["src"],xXe=c("div",{class:"flex flex-col"},[c("p",{class:"text-2xl font-bold text-2xl drop-shadow-md align-middle"},"LoLLMS"),c("p",{class:"text-gray-400"},"One tool to rule them all")],-1),CXe={class:"flex gap-3 flex-1 items-center justify-end"},wXe={key:0,title:"Model is ok",class:"text-green-500 cursor-pointer"},RXe=c("b",{class:"text-2xl"},"M",-1),AXe=[RXe],NXe={key:1,title:"Model is not ok",class:"text-red-500 cursor-pointer"},OXe=c("b",{class:"text-2xl"},"M",-1),IXe=[OXe],MXe={key:2,title:"Text is not being generated. Ready to generate",class:"text-green-500 cursor-pointer"},DXe=c("i",{"data-feather":"flag"},null,-1),kXe=[DXe],LXe={key:3,title:"Generation in progress...",class:"text-red-500 cursor-pointer"},PXe=c("i",{"data-feather":"flag"},null,-1),UXe=[PXe],FXe={key:4,title:"Connection status: Connected",class:"text-green-500 cursor-pointer"},BXe=c("i",{"data-feather":"zap"},null,-1),GXe=[BXe],VXe={key:5,title:"Connection status: Not connected",class:"text-red-500 cursor-pointer"},zXe=c("i",{"data-feather":"zap-off"},null,-1),HXe=[zXe],qXe=c("div",{class:"text-2xl hover:text-primary duration-150",title:"restart program"},[c("i",{"data-feather":"power"})],-1),YXe=[qXe],$Xe=c("div",{class:"text-2xl hover:text-primary duration-150",title:"refresh page"},[c("i",{"data-feather":"refresh-ccw"})],-1),WXe=[$Xe],KXe={href:"https://github.com/ParisNeo/lollms-webui",target:"_blank"},jXe={class:"text-2xl hover:text-primary duration-150",title:"Fast API doc"},QXe={href:"/docs",target:"_blank"},XXe=["src"],ZXe=Fu('
',2),JXe={href:"https://x.com/ParisNeo_AI",target:"_blank"},eZe={class:"text-2xl hover:fill-primary dark:fill-white dark:hover:fill-primary duration-150",title:"Follow me on my twitter acount"},tZe={class:"w-10 h-10 rounded-lg object-fill dark:text-white",xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1668.56 1221.19",style:{"enable-background":"new 0 0 1668.56 1221.19"},"xml:space":"preserve"},nZe=c("g",{id:"layer1",transform:"translate(52.390088,-25.058597)"},[c("path",{id:"path1009",d:`M283.94,167.31l386.39,516.64L281.5,1104h87.51l340.42-367.76L984.48,1104h297.8L874.15,558.3l361.92-390.99\r +`}),t=ft([]),i=()=>{if(n.markdownText){let s=e.parse(n.markdownText,{}),r=[];t.value=[];for(let o=0;o0&&(t.value.push({type:"html",html:e.renderer.render(r,e.options,{})}),r=[]),t.value.push({type:"code",language:AKe(s[o].info),code:s[o].content}));r.length>0&&(t.value.push({type:"html",html:e.renderer.render(r,e.options,{})}),r=[])}else t.value=[];Ge(()=>{He.replace()})};return qn(()=>n.markdownText,i),Ws(i),{markdownItems:t}}},OKe={class:"break-all container w-full"},IKe={ref:"mdRender",class:"markdown-content"},MKe=["innerHTML"];function DKe(n,e,t,i,s,r){const o=mt("code-block");return w(),A("div",OKe,[c("div",IKe,[(w(!0),A($e,null,lt(i.markdownItems,(a,l)=>(w(),A("div",{key:l},[a.type==="code"?(w(),xt(o,{key:0,host:t.host,language:a.language,code:a.code,discussion_id:t.discussion_id,message_id:t.message_id,client_id:t.client_id},null,8,["host","language","code","discussion_id","message_id","client_id"])):(w(),A("div",{key:1,innerHTML:a.html},null,8,MKe))]))),128))],512)])}const sp=bt(NKe,[["render",DKe]]),kKe={data(){return{show:!1,has_button:!0,message:""}},components:{MarkdownRenderer:sp},methods:{hide(){this.show=!1,this.$emit("ok")},showMessage(n){this.message=n,this.has_button=!0,this.show=!0},showBlockingMessage(n){this.message=n,this.has_button=!1,this.show=!0},updateMessage(n){this.message=n,this.show=!0},hideMessage(){this.show=!1}}},LKe={key:0,class:"fixed top-0 left-0 right-0 bottom-0 flex items-center justify-center bg-black bg-opacity-50 z-50"},PKe={class:"pl-10 pr-10 bg-bg-light dark:bg-bg-dark p-8 rounded-lg shadow-lg"},UKe={class:"container max-h-500 overflow-y-auto"},FKe={class:"text-lg font-medium"},BKe={class:"mt-4 flex justify-center"},GKe={key:1,"aria-hidden":"true",class:"w-6 h-6 animate-spin fill-secondary",viewBox:"0 0 100 101",fill:"none",xmlns:"http://www.w3.org/2000/svg"},VKe=c("path",{d:"M100 50.5908C100 78.2051 77.6142 100.591 50 100.591C22.3858 100.591 0 78.2051 0 50.5908C0 22.9766 22.3858 0.59082 50 0.59082C77.6142 0.59082 100 22.9766 100 50.5908ZM9.08144 50.5908C9.08144 73.1895 27.4013 91.5094 50 91.5094C72.5987 91.5094 90.9186 73.1895 90.9186 50.5908C90.9186 27.9921 72.5987 9.67226 50 9.67226C27.4013 9.67226 9.08144 27.9921 9.08144 50.5908Z",fill:"currentColor"},null,-1),zKe=c("path",{d:"M93.9676 39.0409C96.393 38.4038 97.8624 35.9116 97.0079 33.5539C95.2932 28.8227 92.871 24.3692 89.8167 20.348C85.8452 15.1192 80.8826 10.7238 75.2124 7.41289C69.5422 4.10194 63.2754 1.94025 56.7698 1.05124C51.7666 0.367541 46.6976 0.446843 41.7345 1.27873C39.2613 1.69328 37.813 4.19778 38.4501 6.62326C39.0873 9.04874 41.5694 10.4717 44.0505 10.1071C47.8511 9.54855 51.7191 9.52689 55.5402 10.0491C60.8642 10.7766 65.9928 12.5457 70.6331 15.2552C75.2735 17.9648 79.3347 21.5619 82.5849 25.841C84.9175 28.9121 86.7997 32.2913 88.1811 35.8758C89.083 38.2158 91.5421 39.6781 93.9676 39.0409Z",fill:"currentFill"},null,-1),HKe=[VKe,zKe];function qKe(n,e,t,i,s,r){const o=mt("MarkdownRenderer");return s.show?(w(),A("div",LKe,[c("div",PKe,[c("div",UKe,[c("div",FKe,[Te(o,{ref:"mdRender",host:"","markdown-text":s.message,message_id:0,discussion_id:0},null,8,["markdown-text"])])]),c("div",BKe,[s.has_button?(w(),A("button",{key:0,onClick:e[0]||(e[0]=(...a)=>r.hide&&r.hide(...a)),class:"bg-primary hover:bg-primary-light active:scale-95 duration-150 text-white px-4 py-2 rounded-lg shadow-lg hover:bg-secondary-dark"}," OK ")):V("",!0),s.has_button?V("",!0):(w(),A("svg",GKe,HKe))])])])):V("",!0)}const kN=bt(kKe,[["render",qKe]]);const YKe={props:{progress:{type:Number,required:!0}}},$Ke={class:"progress-bar-container"};function WKe(n,e,t,i,s,r){return w(),A("div",$Ke,[c("div",{class:"progress-bar",style:en({width:`${t.progress}%`})},null,4)])}const nc=bt(YKe,[["render",WKe]]),KKe={setup(){return{}},name:"UniversalForm",data(){return{show:!1,resolve:null,controls_array:[],title:"Universal form",ConfirmButtonText:"Submit",DenyButtonText:"Cancel"}},mounted(){Ge(()=>{He.replace()})},methods:{btn_clicked(n){console.log(n)},hide(n){this.show=!1,this.resolve&&n&&(this.resolve(this.controls_array),this.resolve=null)},showForm(n,e,t,i){this.ConfirmButtonText=t||this.ConfirmButtonText,this.DenyButtonText=i||this.DenyButtonText;for(let s=0;s{this.controls_array=n,this.show=!0,this.title=e||this.title,this.resolve=s,console.log("show form",this.controls_array)})}},watch:{controls_array:{deep:!0,handler(n){n.forEach(e=>{e.type==="int"?e.value=parseInt(e.value):e.type==="float"&&(e.value=parseFloat(e.value))})}},show(){Ge(()=>{He.replace()})}}},jKe={key:0,class:"fixed top-0 left-0 right-0 bottom-0 flex items-center justify-center bg-black bg-opacity-50 p-4"},QKe={class:"relative w-full max-w-md"},XKe={class:"flex flex-col rounded-lg bg-bg-light-tone-panel dark:bg-bg-dark-tone-panel duration-150 shadow-lg max-h-screen"},ZKe={class:"flex flex-row flex-grow items-center m-2 p-1"},JKe={class:"grow flex items-center"},eje=c("i",{"data-feather":"sliders",class:"mr-2 flex-shrink-0"},null,-1),tje={class:"text-lg font-semibold select-none mr-2"},nje={class:"items-end"},ije=c("svg",{"aria-hidden":"true",class:"w-5 h-5",fill:"currentColor",viewBox:"0 0 20 20",xmlns:"http://www.w3.org/2000/svg"},[c("path",{"fill-rule":"evenodd",d:"M4.293 4.293a1 1 0 011.414 0L10 8.586l4.293-4.293a1 1 0 111.414 1.414L11.414 10l4.293 4.293a1 1 0 01-1.414 1.414L10 11.414l-4.293 4.293a1 1 0 01-1.414-1.414L8.586 10 4.293 5.707a1 1 0 010-1.414z","clip-rule":"evenodd"})],-1),sje=c("span",{class:"sr-only"},"Close form modal",-1),rje=[ije,sje],oje={class:"flex flex-col relative no-scrollbar overflow-y-scroll p-2"},aje={class:"px-2"},lje={key:0},cje={key:0},dje={class:"text-base font-semibold"},uje={key:0,class:"relative inline-flex"},pje=["onUpdate:modelValue"],_je=c("div",{class:"hover:text-secondary duration-75 active:scale-90 peer-checked:text-primary"},[c("i",{"data-feather":"help-circle",class:"w-5 h-5"})],-1),hje={key:0,class:"text-sm font-normal text-gray-700 dark:text-gray-400 mb-2"},fje=["onUpdate:modelValue"],mje={key:1},gje={class:"text-base font-semibold"},bje={key:0,class:"relative inline-flex"},Eje=["onUpdate:modelValue"],yje=c("div",{class:"hover:text-secondary duration-75 active:scale-90 peer-checked:text-primary"},[c("i",{"data-feather":"help-circle",class:"w-5 h-5"})],-1),vje={key:0,class:"text-sm font-normal text-gray-700 dark:text-gray-400 mb-2"},Sje=["onUpdate:modelValue"],Tje=["value","selected"],xje={key:1},Cje={class:"",onclick:"btn_clicked(item)"},wje={key:2},Rje={key:0},Aje={class:"text-base font-semibold"},Nje={key:0,class:"relative inline-flex"},Oje=["onUpdate:modelValue"],Ije=c("div",{class:"hover:text-secondary duration-75 active:scale-90 peer-checked:text-primary"},[c("i",{"data-feather":"help-circle",class:"w-5 h-5"})],-1),Mje={key:0,class:"text-sm font-normal text-gray-700 dark:text-gray-400 mb-2"},Dje=["onUpdate:modelValue"],kje={key:1},Lje={class:"text-base font-semibold"},Pje={key:0,class:"relative inline-flex"},Uje=["onUpdate:modelValue"],Fje=c("div",{class:"hover:text-secondary duration-75 active:scale-90 peer-checked:text-primary"},[c("i",{"data-feather":"help-circle",class:"w-5 h-5"})],-1),Bje={key:0,class:"text-sm font-normal text-gray-700 dark:text-gray-400 mb-2"},Gje=["onUpdate:modelValue"],Vje=["value","selected"],zje={key:3},Hje={class:"text-base font-semibold"},qje={key:0,class:"relative inline-flex"},Yje=["onUpdate:modelValue"],$je=c("div",{class:"hover:text-secondary duration-75 active:scale-90 peer-checked:text-primary"},[c("i",{"data-feather":"help-circle",class:"w-5 h-5"})],-1),Wje={key:0,class:"text-sm font-normal text-gray-700 dark:text-gray-400 mb-2"},Kje=["onUpdate:modelValue"],jje=["onUpdate:modelValue","min","max"],Qje={key:4},Xje={class:"text-base font-semibold"},Zje={key:0,class:"relative inline-flex"},Jje=["onUpdate:modelValue"],eQe=c("div",{class:"hover:text-secondary duration-75 active:scale-90 peer-checked:text-primary"},[c("i",{"data-feather":"help-circle",class:"w-5 h-5"})],-1),tQe={key:0,class:"text-sm font-normal text-gray-700 dark:text-gray-400 mb-2"},nQe=["onUpdate:modelValue"],iQe=["onUpdate:modelValue","min","max"],sQe={key:5},rQe={class:"mb-2 relative flex items-center gap-2"},oQe={for:"default-checkbox",class:"text-base font-semibold"},aQe=["onUpdate:modelValue"],lQe={key:0,class:"relative inline-flex"},cQe=["onUpdate:modelValue"],dQe=c("div",{class:"hover:text-secondary duration-75 active:scale-90 peer-checked:text-primary"},[c("i",{"data-feather":"help-circle",class:"w-5 h-5"})],-1),uQe={key:0,class:"text-sm font-normal text-gray-700 dark:text-gray-400 mb-2"},pQe={key:6},_Qe={class:"text-base font-semibold"},hQe={key:0,class:"relative inline-flex"},fQe=["onUpdate:modelValue"],mQe=c("div",{class:"hover:text-secondary duration-75 active:scale-90 peer-checked:text-primary"},[c("i",{"data-feather":"help-circle",class:"w-5 h-5"})],-1),gQe={key:0,class:"text-sm font-normal text-gray-700 dark:text-gray-400 mb-2"},bQe=["onUpdate:modelValue"],EQe=c("hr",{class:"h-px my-4 bg-gray-200 border-0 dark:bg-gray-700"},null,-1),yQe={class:"flex flex-row flex-grow gap-3"},vQe={class:"p-2 text-center grow"};function SQe(n,e,t,i,s,r){return s.show?(w(),A("div",jKe,[c("div",QKe,[c("div",XKe,[c("div",ZKe,[c("div",JKe,[eje,c("h3",tje,he(s.title),1)]),c("div",nje,[c("button",{type:"button",onClick:e[0]||(e[0]=ge(o=>r.hide(!1),["stop"])),title:"Close",class:"bg-transparent hover:bg-gray-200 hover:text-gray-900 rounded-lg text-sm p-1.5 ml-auto inline-flex items-center dark:hover:bg-gray-800 dark:hover:text-white"},rje)])]),c("div",oje,[(w(!0),A($e,null,lt(s.controls_array,(o,a)=>(w(),A("div",aje,[o.type=="str"||o.type=="string"?(w(),A("div",lje,[o.options?V("",!0):(w(),A("div",cje,[c("label",{class:ze(["mb-2 relative flex items-center gap-2 text-sm font-medium text-gray-900 dark:text-white select-none",o.help?"cursor-pointer ":""])},[c("div",dje,he(o.name)+": ",1),o.help?(w(),A("label",uje,[G(c("input",{type:"checkbox","onUpdate:modelValue":l=>o.isHelp=l,class:"sr-only peer"},null,8,pje),[[Ze,o.isHelp]]),_je])):V("",!0)],2),o.isHelp?(w(),A("p",hje,he(o.help),1)):V("",!0),G(c("input",{type:"text","onUpdate:modelValue":l=>o.value=l,class:"bg-gray-50 border border-gray-300 text-gray-900 text-sm rounded-lg focus:ring-blue-500 focus:border-blue-500 block w-full p-2.5 dark:bg-gray-700 dark:border-gray-600 dark:placeholder-gray-400 dark:text-white dark:focus:ring-blue-500 dark:focus:border-blue-500",placeholder:"Enter string"},null,8,fje),[[xe,o.value]])])),o.options?(w(),A("div",mje,[c("label",{class:ze(["mb-2 relative flex items-center gap-2 text-sm font-medium text-gray-900 dark:text-white select-none",o.help?"cursor-pointer ":""])},[c("div",gje,he(o.name)+": ",1),o.help?(w(),A("label",bje,[G(c("input",{type:"checkbox","onUpdate:modelValue":l=>o.isHelp=l,class:"sr-only peer"},null,8,Eje),[[Ze,o.isHelp]]),yje])):V("",!0)],2),o.isHelp?(w(),A("p",vje,he(o.help),1)):V("",!0),G(c("select",{"onUpdate:modelValue":l=>o.value=l,class:"bg-gray-50 border border-gray-300 text-gray-900 text-sm rounded-lg focus:ring-blue-500 focus:border-blue-500 block w-full p-2.5 dark:bg-gray-700 dark:border-gray-600 dark:placeholder-gray-400 dark:text-white dark:focus:ring-blue-500 dark:focus:border-blue-500"},[(w(!0),A($e,null,lt(o.options,l=>(w(),A("option",{value:l,selected:o.value===l},he(l),9,Tje))),256))],8,Sje),[[Wt,o.value]])])):V("",!0)])):V("",!0),o.type=="btn"?(w(),A("div",xje,[c("button",Cje,he(o.name),1)])):V("",!0),o.type=="text"?(w(),A("div",wje,[o.options?V("",!0):(w(),A("div",Rje,[c("label",{class:ze(["mb-2 relative flex items-center gap-2 text-sm font-medium text-gray-900 dark:text-white select-none",o.help?"cursor-pointer ":""])},[c("div",Aje,he(o.name)+": ",1),o.help?(w(),A("label",Nje,[G(c("input",{type:"checkbox","onUpdate:modelValue":l=>o.isHelp=l,class:"sr-only peer"},null,8,Oje),[[Ze,o.isHelp]]),Ije])):V("",!0)],2),o.isHelp?(w(),A("p",Mje,he(o.help),1)):V("",!0),G(c("textarea",{"onUpdate:modelValue":l=>o.value=l,class:"bg-gray-50 border border-gray-300 text-gray-900 text-sm rounded-lg focus:ring-blue-500 focus:border-blue-500 block w-full p-2.5 dark:bg-gray-700 dark:border-gray-600 dark:placeholder-gray-400 dark:text-white dark:focus:ring-blue-500 dark:focus:border-blue-500",placeholder:"Enter string"},null,8,Dje),[[xe,o.value]])])),o.options?(w(),A("div",kje,[c("label",{class:ze(["mb-2 relative flex items-center gap-2 text-sm font-medium text-gray-900 dark:text-white select-none",o.help?"cursor-pointer ":""])},[c("div",Lje,he(o.name)+": ",1),o.help?(w(),A("label",Pje,[G(c("input",{type:"checkbox","onUpdate:modelValue":l=>o.isHelp=l,class:"sr-only peer"},null,8,Uje),[[Ze,o.isHelp]]),Fje])):V("",!0)],2),o.isHelp?(w(),A("p",Bje,he(o.help),1)):V("",!0),G(c("select",{"onUpdate:modelValue":l=>o.value=l,class:"bg-gray-50 border border-gray-300 text-gray-900 text-sm rounded-lg focus:ring-blue-500 focus:border-blue-500 block w-full p-2.5 dark:bg-gray-700 dark:border-gray-600 dark:placeholder-gray-400 dark:text-white dark:focus:ring-blue-500 dark:focus:border-blue-500"},[(w(!0),A($e,null,lt(o.options,l=>(w(),A("option",{value:l,selected:o.value===l},he(l),9,Vje))),256))],8,Gje),[[Wt,o.value]])])):V("",!0)])):V("",!0),o.type=="int"?(w(),A("div",zje,[c("label",{class:ze(["mb-2 relative flex items-center gap-2 text-sm font-medium text-gray-900 dark:text-white select-none",o.help?"cursor-pointer ":""])},[c("div",Hje,he(o.name)+": ",1),o.help?(w(),A("label",qje,[G(c("input",{type:"checkbox","onUpdate:modelValue":l=>o.isHelp=l,class:"sr-only peer"},null,8,Yje),[[Ze,o.isHelp]]),$je])):V("",!0)],2),o.isHelp?(w(),A("p",Wje,he(o.help),1)):V("",!0),G(c("input",{type:"number","onUpdate:modelValue":l=>o.value=l,step:"1",class:"bg-gray-50 border border-gray-300 text-gray-900 text-sm rounded-lg focus:ring-blue-500 focus:border-blue-500 block w-full p-2.5 dark:bg-gray-700 dark:border-gray-600 dark:placeholder-gray-400 dark:text-white dark:focus:ring-blue-500 dark:focus:border-blue-500",placeholder:"Enter number"},null,8,Kje),[[xe,o.value]]),o.min!=null&&o.max!=null?G((w(),A("input",{key:1,type:"range","onUpdate:modelValue":l=>o.value=l,min:o.min,max:o.max,step:"1",class:"flex-none h-2 w-full bg-gray-200 rounded-lg appearance-none cursor-pointer dark:bg-gray-700 focus:ring-blue-500 focus:border-blue-500 dark:border-gray-600 dark:placeholder-gray-400 dark:focus:ring-blue-500 dark:focus:border-blue-500"},null,8,jje)),[[xe,o.value]]):V("",!0)])):V("",!0),o.type=="float"?(w(),A("div",Qje,[c("label",{class:ze(["mb-2 relative flex items-center gap-2 text-sm font-medium text-gray-900 dark:text-white select-none",o.help?"cursor-pointer ":""])},[c("div",Xje,he(o.name)+": ",1),o.help?(w(),A("label",Zje,[G(c("input",{type:"checkbox","onUpdate:modelValue":l=>o.isHelp=l,class:"sr-only peer"},null,8,Jje),[[Ze,o.isHelp]]),eQe])):V("",!0)],2),o.isHelp?(w(),A("p",tQe,he(o.help),1)):V("",!0),G(c("input",{type:"number","onUpdate:modelValue":l=>o.value=l,class:"bg-gray-50 border border-gray-300 text-gray-900 text-sm rounded-lg focus:ring-blue-500 focus:border-blue-500 block w-full p-2.5 dark:bg-gray-700 dark:border-gray-600 dark:placeholder-gray-400 dark:text-white dark:focus:ring-blue-500 dark:focus:border-blue-500",placeholder:"Enter number"},null,8,nQe),[[xe,o.value]]),o.min!=null&&o.max!=null?G((w(),A("input",{key:1,type:"range","onUpdate:modelValue":l=>o.value=l,min:o.min,max:o.max,step:"0.1",class:"flex-none h-2 w-full bg-gray-200 rounded-lg appearance-none cursor-pointer dark:bg-gray-700 focus:ring-blue-500 focus:border-blue-500 dark:border-gray-600 dark:placeholder-gray-400 dark:focus:ring-blue-500 dark:focus:border-blue-500"},null,8,iQe)),[[xe,o.value]]):V("",!0)])):V("",!0),o.type=="bool"?(w(),A("div",sQe,[c("div",rQe,[c("label",oQe,he(o.name)+": ",1),G(c("input",{type:"checkbox","onUpdate:modelValue":l=>o.value=l,class:"w-4 h-4 text-blue-600 bg-gray-100 border-gray-300 rounded focus:ring-blue-500 dark:focus:ring-blue-600 dark:ring-offset-gray-800 focus:ring-2 dark:bg-gray-700 dark:border-gray-600"},null,8,aQe),[[Ze,o.value]]),o.help?(w(),A("label",lQe,[G(c("input",{type:"checkbox","onUpdate:modelValue":l=>o.isHelp=l,class:"sr-only peer"},null,8,cQe),[[Ze,o.isHelp]]),dQe])):V("",!0)]),o.isHelp?(w(),A("p",uQe,he(o.help),1)):V("",!0)])):V("",!0),o.type=="list"?(w(),A("div",pQe,[c("label",{class:ze(["mb-2 relative flex items-center gap-2 text-sm font-medium text-gray-900 dark:text-white select-none",o.help?"cursor-pointer ":""])},[c("div",_Qe,he(o.name)+": ",1),o.help?(w(),A("label",hQe,[G(c("input",{type:"checkbox","onUpdate:modelValue":l=>o.isHelp=l,class:"sr-only peer"},null,8,fQe),[[Ze,o.isHelp]]),mQe])):V("",!0)],2),o.isHelp?(w(),A("p",gQe,he(o.help),1)):V("",!0),G(c("input",{type:"text","onUpdate:modelValue":l=>o.value=l,class:"bg-gray-50 border border-gray-300 text-gray-900 text-sm rounded-lg focus:ring-blue-500 focus:border-blue-500 block w-full p-2.5 dark:bg-gray-700 dark:border-gray-600 dark:placeholder-gray-400 dark:text-white dark:focus:ring-blue-500 dark:focus:border-blue-500",placeholder:"Enter comma separated values"},null,8,bQe),[[xe,o.value]])])):V("",!0),EQe]))),256)),c("div",yQe,[c("div",vQe,[c("button",{onClick:e[1]||(e[1]=ge(o=>r.hide(!0),["stop"])),type:"button",class:"mr-2 text-white bg-blue-700 hover:bg-blue-800 focus:ring-4 focus:outline-none focus:ring-blue-300 font-medium rounded-lg text-sm sm:w-auto px-5 py-2.5 text-center dark:bg-blue-600 dark:hover:bg-blue-700 dark:focus:ring-blue-800"},he(s.ConfirmButtonText),1),c("button",{onClick:e[2]||(e[2]=ge(o=>r.hide(!1),["stop"])),type:"button",class:"text-gray-500 bg-white hover:bg-gray-100 focus:ring-4 focus:outline-none focus:ring-gray-200 rounded-lg border border-gray-200 text-sm font-medium px-5 py-2.5 hover:text-gray-900 focus:z-11 dark:bg-gray-700 dark:text-gray-300 dark:border-gray-500 dark:hover:text-white dark:hover:bg-gray-600 dark:focus:ring-gray-600"},he(s.DenyButtonText),1)])])])])])])):V("",!0)}const bc=bt(KKe,[["render",SQe]]),TQe={data(){return{show:!1,message:"",resolve:null,ConfirmButtonText:"Yes, I'm sure",DenyButtonText:"No, cancel"}},methods:{hide(n){this.show=!1,this.resolve&&(this.resolve(n),this.resolve=null)},askQuestion(n,e,t){return this.ConfirmButtonText=e||this.ConfirmButtonText,this.DenyButtonText=t||this.DenyButtonText,new Promise(i=>{this.message=n,this.show=!0,this.resolve=i})}}},xQe={key:0,class:"fixed top-0 left-0 right-0 bottom-0 flex items-center justify-center bg-black bg-opacity-50"},CQe={class:"relative w-full max-w-md max-h-full"},wQe={class:"relative bg-white rounded-lg shadow dark:bg-gray-700"},RQe=c("svg",{"aria-hidden":"true",class:"w-5 h-5",fill:"currentColor",viewBox:"0 0 20 20",xmlns:"http://www.w3.org/2000/svg"},[c("path",{"fill-rule":"evenodd",d:"M4.293 4.293a1 1 0 011.414 0L10 8.586l4.293-4.293a1 1 0 111.414 1.414L11.414 10l4.293 4.293a1 1 0 01-1.414 1.414L10 11.414l-4.293 4.293a1 1 0 01-1.414-1.414L8.586 10 4.293 5.707a1 1 0 010-1.414z","clip-rule":"evenodd"})],-1),AQe=c("span",{class:"sr-only"},"Close modal",-1),NQe=[RQe,AQe],OQe={class:"p-4 text-center"},IQe=c("svg",{"aria-hidden":"true",class:"mx-auto mb-4 text-gray-400 w-14 h-14 dark:text-gray-200",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24",xmlns:"http://www.w3.org/2000/svg"},[c("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M12 8v4m0 4h.01M21 12a9 9 0 11-18 0 9 9 0 0118 0z"})],-1),MQe={class:"mb-5 text-lg font-normal text-gray-500 dark:text-gray-400 select-none break-all"};function DQe(n,e,t,i,s,r){return s.show?(w(),A("div",xQe,[c("div",CQe,[c("div",wQe,[c("button",{type:"button",onClick:e[0]||(e[0]=o=>r.hide(!1)),class:"absolute top-3 right-2.5 text-gray-400 bg-transparent hover:bg-gray-200 hover:text-gray-900 rounded-lg text-sm p-1.5 ml-auto inline-flex items-center dark:hover:bg-gray-800 dark:hover:text-white"},NQe),c("div",OQe,[IQe,c("h3",MQe,he(s.message),1),c("button",{onClick:e[1]||(e[1]=o=>r.hide(!0)),type:"button",class:"text-white bg-red-600 hover:bg-red-800 focus:ring-4 focus:outline-none focus:ring-red-300 dark:focus:ring-red-800 font-medium rounded-lg text-sm inline-flex items-center px-5 py-2.5 text-center mr-2"},he(s.ConfirmButtonText),1),c("button",{onClick:e[2]||(e[2]=o=>r.hide(!1)),type:"button",class:"text-gray-500 bg-white hover:bg-gray-100 focus:ring-4 focus:outline-none focus:ring-gray-200 rounded-lg border border-gray-200 text-sm font-medium px-5 py-2.5 hover:text-gray-900 focus:z-10 dark:bg-gray-700 dark:text-gray-300 dark:border-gray-500 dark:hover:text-white dark:hover:bg-gray-600 dark:focus:ring-gray-600"},he(s.DenyButtonText),1)])])])])):V("",!0)}const LN=bt(TQe,[["render",DQe]]),kQe={props:{personality:{type:Object,required:!0},config:{type:Object,required:!0}},data(){return{show:!1,title:"Add AI Agent",iconUrl:"",file:null,tempConfig:{}}},methods:{showForm(){this.showDialog=!0},hideForm(){this.showDialog=!1},selectIcon(n){n.target.files&&(this.file=n.target.files[0],this.iconUrl=URL.createObjectURL(this.file))},showPanel(){this.show=!0},hide(){this.show=!1},submitForm(){Se.post("/set_personality_config",{client_id:this.$store.state.client_id,category:this.personality.category,name:this.personality.folder,config:this.config}).then(n=>{const e=n.data;console.log("Done"),e.status?(this.currentPersonConfig=e.config,this.showPersonalityEditor=!0):console.error(e.error)}).catch(n=>{console.error(n)})}}},LQe={key:0,class:"fixed top-0 left-0 right-0 bottom-0 flex items-center justify-center bg-black bg-opacity-50 z-20"},PQe={class:"relative w-full max-h-full bg-bg-light dark:bg-bg-dark"},UQe={class:"w-full h-full relative items-center gap-2 rounded-lg border bg-bg-light dark:bg-bg-dark p-1.5 shadow-sm hover:shadow-none dark:border-gray-800 dark:bg-gray-900"},FQe=c("svg",{"aria-hidden":"true",class:"w-5 h-5",fill:"currentColor",viewBox:"0 0 20 20",xmlns:"http://www.w3.org/2000/svg"},[c("path",{"fill-rule":"evenodd",d:"M4.293 4.293a1 1 0 011.414 0L10 8.586l4.293-4.293a1 1 0 111.414 1.414L11.414 10l4.293 4.293a1 1 0 01-1.414 1.414L10 11.414l-4.293 4.293a1 1 0 01-1.414-1.414L8.586 10 4.293 5.707a1 1 0 010-1.414z","clip-rule":"evenodd"})],-1),BQe=c("span",{class:"sr-only"},"Close modal",-1),GQe=[FQe,BQe],VQe={class:"justify-center text-center items-center w-full bg-bg-light dark:bg-bg-dark"},zQe={class:"w-full flex flex-row mt-4 text-center justify-center"},HQe={class:"w-full max-h-full container bg-bg-light dark:bg-bg-dark"},qQe={class:"mb-4 w-full"},YQe={class:"w-full bg-bg-light dark:bg-bg-dark"},$Qe=c("td",null,[c("label",{for:"personalityConditioning"},"Personality Conditioning:")],-1),WQe=c("td",null,[c("label",{for:"userMessagePrefix"},"User Message Prefix:")],-1),KQe=c("td",null,[c("label",{for:"aiMessagePrefix"},"AI Message Prefix:")],-1),jQe=c("td",null,[c("label",{for:"linkText"},"Link Text:")],-1),QQe=c("td",null,[c("label",{for:"welcomeMessage"},"Welcome Message:")],-1),XQe=c("td",null,[c("label",{for:"modelTemperature"},"Model Temperature:")],-1),ZQe=c("td",null,[c("label",{for:"modelTopK"},"Model Top K:")],-1),JQe=c("td",null,[c("label",{for:"modelTopP"},"Model Top P:")],-1),eXe=c("td",null,[c("label",{for:"modelRepeatPenalty"},"Model Repeat Penalty:")],-1),tXe=c("td",null,[c("label",{for:"modelRepeatLastN"},"Model Repeat Last N:")],-1),nXe=c("td",null,[c("label",{for:"recommendedBinding"},"Recommended Binding:")],-1),iXe=c("td",null,[c("label",{for:"recommendedModel"},"Recommended Model:")],-1),sXe=c("td",null,[c("label",{class:"dark:bg-black dark:text-primary w-full",for:"dependencies"},"Dependencies:")],-1),rXe=c("td",null,[c("label",{for:"antiPrompts"},"Anti Prompts:")],-1);function oXe(n,e,t,i,s,r){return s.show?(w(),A("div",LQe,[c("div",PQe,[c("div",UQe,[c("button",{type:"button",onClick:e[0]||(e[0]=o=>r.hide()),class:"absolute top-1 right-2.5 text-gray-400 bg-transparent hover:bg-gray-200 hover:text-gray-900 rounded-lg text-sm p-1.5 ml-auto inline-flex items-center dark:hover:bg-gray-800 dark:hover:text-white"},GQe),c("div",VQe,[c("div",zQe,[c("button",{type:"submit",onClick:e[1]||(e[1]=ge((...o)=>r.submitForm&&r.submitForm(...o),["prevent"])),class:"bg-blue-500 hover:bg-blue-700 text-white font-bold py-2 px-4 rounded"}," Commit AI to Server "),c("button",{onClick:e[2]||(e[2]=ge(o=>r.hide(),["prevent"])),class:"bg-blue-500 hover:bg-blue-700 text-white font-bold py-2 px-4 rounded"}," Close ")]),c("div",HQe,[c("form",qQe,[c("table",YQe,[c("tr",null,[$Qe,c("td",null,[G(c("textarea",{class:"dark:bg-black dark:text-primary w-full",id:"personalityConditioning","onUpdate:modelValue":e[3]||(e[3]=o=>t.config.personality_conditioning=o)},null,512),[[xe,t.config.personality_conditioning]])])]),c("tr",null,[WQe,c("td",null,[G(c("input",{class:"dark:bg-black dark:text-primary w-full",type:"text",id:"userMessagePrefix","onUpdate:modelValue":e[4]||(e[4]=o=>t.config.user_message_prefix=o)},null,512),[[xe,t.config.user_message_prefix]])])]),c("tr",null,[KQe,c("td",null,[G(c("input",{class:"dark:bg-black dark:text-primary w-full",type:"text",id:"aiMessagePrefix","onUpdate:modelValue":e[5]||(e[5]=o=>t.config.ai_message_prefix=o)},null,512),[[xe,t.config.ai_message_prefix]])])]),c("tr",null,[jQe,c("td",null,[G(c("input",{class:"dark:bg-black dark:text-primary w-full",type:"text",id:"linkText","onUpdate:modelValue":e[6]||(e[6]=o=>t.config.link_text=o)},null,512),[[xe,t.config.link_text]])])]),c("tr",null,[QQe,c("td",null,[G(c("textarea",{class:"dark:bg-black dark:text-primary w-full",id:"welcomeMessage","onUpdate:modelValue":e[7]||(e[7]=o=>t.config.welcome_message=o)},null,512),[[xe,t.config.welcome_message]])])]),c("tr",null,[XQe,c("td",null,[G(c("input",{type:"number",id:"modelTemperature","onUpdate:modelValue":e[8]||(e[8]=o=>t.config.model_temperature=o)},null,512),[[xe,t.config.model_temperature]])])]),c("tr",null,[ZQe,c("td",null,[G(c("input",{class:"dark:bg-black dark:text-primary w-full",type:"number",id:"modelTopK","onUpdate:modelValue":e[9]||(e[9]=o=>t.config.model_top_k=o)},null,512),[[xe,t.config.model_top_k]])])]),c("tr",null,[JQe,c("td",null,[G(c("input",{class:"dark:bg-black dark:text-primary w-full",type:"number",id:"modelTopP","onUpdate:modelValue":e[10]||(e[10]=o=>t.config.model_top_p=o)},null,512),[[xe,t.config.model_top_p]])])]),c("tr",null,[eXe,c("td",null,[G(c("input",{class:"dark:bg-black dark:text-primary w-full",type:"number",id:"modelRepeatPenalty","onUpdate:modelValue":e[11]||(e[11]=o=>t.config.model_repeat_penalty=o)},null,512),[[xe,t.config.model_repeat_penalty]])])]),c("tr",null,[tXe,c("td",null,[G(c("input",{class:"dark:bg-black dark:text-primary w-full",type:"number",id:"modelRepeatLastN","onUpdate:modelValue":e[12]||(e[12]=o=>t.config.model_repeat_last_n=o)},null,512),[[xe,t.config.model_repeat_last_n]])])]),c("tr",null,[nXe,c("td",null,[G(c("input",{class:"dark:bg-black dark:text-primary w-full",type:"text",id:"recommendedBinding","onUpdate:modelValue":e[13]||(e[13]=o=>t.config.recommended_binding=o)},null,512),[[xe,t.config.recommended_binding]])])]),c("tr",null,[iXe,c("td",null,[G(c("input",{class:"dark:bg-black dark:text-primary w-full",type:"text",id:"recommendedModel","onUpdate:modelValue":e[14]||(e[14]=o=>t.config.recommended_model=o)},null,512),[[xe,t.config.recommended_model]])])]),c("tr",null,[sXe,c("td",null,[G(c("textarea",{class:"dark:bg-black dark:text-primary w-full",id:"dependencies","onUpdate:modelValue":e[15]||(e[15]=o=>t.config.dependencies=o)},null,512),[[xe,t.config.dependencies]])])]),c("tr",null,[rXe,c("td",null,[G(c("textarea",{class:"dark:bg-black dark:text-primary w-full",id:"antiPrompts","onUpdate:modelValue":e[16]||(e[16]=o=>t.config.anti_prompts=o)},null,512),[[xe,t.config.anti_prompts]])])])])])])])])])])):V("",!0)}const PN=bt(kQe,[["render",oXe]]);const aXe={data(){return{showPopup:!1,webpageUrl:"https://lollms.com/"}},methods:{show(){this.showPopup=!0},hide(){this.showPopup=!1},save_configuration(){Se.post("/apply_settings",{client_id:this.$store.state.client_id,config:this.$store.state.config}).then(n=>{this.isLoading=!1,n.data.status?(this.$store.state.toast.showToast("Configuration changed successfully.",4,!0),this.settingsChanged=!1):this.$store.state.toast.showToast("Configuration change failed.",4,!1)})}}},lXe=n=>(yo("data-v-d504dfc9"),n=n(),vo(),n),cXe={key:0,class:"fixed inset-0 flex items-center justify-center z-50"},dXe={class:"popup-container"},uXe=["src"],pXe={class:"checkbox-container"},_Xe=lXe(()=>c("label",{for:"startup",class:"checkbox-label"},"Show at startup",-1));function hXe(n,e,t,i,s,r){return w(),xt(Vi,{name:"fade"},{default:We(()=>[s.showPopup?(w(),A("div",cXe,[c("div",dXe,[c("button",{onClick:e[0]||(e[0]=(...o)=>r.hide&&r.hide(...o)),class:"close-button"}," X "),c("iframe",{src:s.webpageUrl,class:"iframe-content"},null,8,uXe),c("div",pXe,[G(c("input",{type:"checkbox",id:"startup",class:"styled-checkbox","onUpdate:modelValue":e[1]||(e[1]=o=>this.$store.state.config.show_news_panel=o),onChange:e[2]||(e[2]=(...o)=>r.save_configuration&&r.save_configuration(...o))},null,544),[[Ze,this.$store.state.config.show_news_panel]]),_Xe])])])):V("",!0)]),_:1})}const UN=bt(aXe,[["render",hXe],["__scopeId","data-v-d504dfc9"]]),FN="/assets/fastapi-4a6542d0.png",BN="/assets/discord-6817c341.svg";const fXe={key:0,class:"container z-60 flex flex-col sm:flex-row items-center"},mXe={class:"w-full text-center"},gXe={class:"m-0 flex border-b w-full items-center justify-center flex flex-row font-medium nav-ul text-center"},bXe={name:"Navigation",data(){return{}},methods:{isRouteActive(n){try{return this.$route.name===n}catch{return console.log("routeName not found"),False}}}},GN=Object.assign(bXe,{setup(n){return(e,t)=>e.$store.state.ready?(w(),A("div",fXe,[c("div",mXe,[c("div",gXe,[Te(yt(ks),{to:{name:"discussions"},class:ze(["inline-block border-l border-t border-r rounded-t py-2 px-4 text-blue-700 font-semibold",{"text-green-600 hover:text-green-500 dark:text-green-100 font-bold bg-bg-secondary shadow-no-bottom":e.isRouteActive("discussions"),"bounce-in":e.isRouteActive("discussions")}])},{default:We(()=>[et(" Discussions ")]),_:1},8,["class"]),Te(yt(ks),{to:{name:"playground"},class:ze(["inline-block border-l border-t border-r rounded-t py-2 px-4 text-blue-700 font-semibold",{"text-green-600 hover:text-green-500 dark:text-green-100 font-bold bg-bg-secondary shadow-no-bottom":e.isRouteActive("playground"),"bounce-in":e.isRouteActive("playground")}])},{default:We(()=>[et(" Playground ")]),_:1},8,["class"]),e.$store.state.config.enable_sd_service|e.$store.state.config.active_tti_service=="autosd"?(w(),xt(yt(ks),{key:0,to:{name:"AutoSD"},class:ze(["inline-block border-l border-t border-r rounded-t py-2 px-4 text-blue-700 font-semibold",{"text-green-600 hover:text-green-500 dark:text-green-100 font-bold bg-bg-secondary shadow-no-bottom":e.isRouteActive("AutoSD"),"bounce-in":e.isRouteActive("AutoSD")}])},{default:We(()=>[et(" Auto111-SD ")]),_:1},8,["class"])):V("",!0),e.$store.state.config.enable_comfyui_service|e.$store.state.config.active_tti_service=="comfyui"?(w(),xt(yt(ks),{key:1,to:{name:"ComfyUI"},class:ze(["inline-block border-l border-t border-r rounded-t py-2 px-4 text-blue-700 font-semibold",{"text-green-600 hover:text-green-500 dark:text-green-100 font-bold bg-bg-secondary shadow-no-bottom":e.isRouteActive("ComfyUI"),"bounce-in":e.isRouteActive("ComfyUI")}])},{default:We(()=>[et(" ComfyUI ")]),_:1},8,["class"])):V("",!0),e.$store.state.config.active_tts_service!="None"&e.$store.state.config.active_stt_service!="None"?(w(),xt(yt(ks),{key:2,to:{name:"interactive"},class:ze(["inline-block border-l border-t border-r rounded-t py-2 px-4 text-blue-700 font-semibold",{"text-green-600 hover:text-green-500 dark:text-green-100 font-bold bg-bg-secondary shadow-no-bottom":e.isRouteActive("interactive"),"bounce-in":e.isRouteActive("interactive")}])},{default:We(()=>[et(" interactive ")]),_:1},8,["class"])):V("",!0),Te(yt(ks),{to:{name:"settings"},class:ze(["inline-block border-l border-t border-r rounded-t py-2 px-4 text-blue-700 font-semibold",{"text-green-600 hover:text-green-500 dark:text-green-100 font-bold bg-bg-secondary shadow-no-bottom":e.isRouteActive("settings"),"bounce-in":e.isRouteActive("settings")}])},{default:We(()=>[et(" Settings ")]),_:1},8,["class"]),Te(yt(ks),{to:{name:"help_view"},class:ze(["inline-block border-l border-t border-r rounded-t py-2 px-4 text-blue-700 font-semibold",{"text-green-600 hover:text-green-500 dark:text-green-100 font-bold bg-bg-secondary shadow-no-bottom":e.isRouteActive("help_view"),"bounce-in":e.isRouteActive("help_view")}])},{default:We(()=>[et(" Help ")]),_:1},8,["class"])])])])):V("",!0)}}),VN="/assets/static_info-b284ded1.svg",EXe="/assets/animated_info-7edcb0f9.svg",Ti="/assets/logo-f63ca8ad.png",zN="/assets/fun_mode-14669a57.svg",HN="/assets/normal_mode-f539f08d.svg";const yXe={class:"top-0 shadow-lg"},vXe={class:"container flex flex-col lg:flex-row item-center gap-2 pb-0"},SXe={class:"flex items-center gap-3 flex-1"},TXe=["src"],xXe=c("div",{class:"flex flex-col"},[c("p",{class:"text-2xl font-bold text-2xl drop-shadow-md align-middle"},"LoLLMS"),c("p",{class:"text-gray-400"},"One tool to rule them all")],-1),CXe={class:"flex gap-3 flex-1 items-center justify-end"},wXe={key:0,title:"Model is ok",class:"text-green-500 cursor-pointer"},RXe=c("b",{class:"text-2xl"},"M",-1),AXe=[RXe],NXe={key:1,title:"Model is not ok",class:"text-red-500 cursor-pointer"},OXe=c("b",{class:"text-2xl"},"M",-1),IXe=[OXe],MXe={key:2,title:"Text is not being generated. Ready to generate",class:"text-green-500 cursor-pointer"},DXe=c("i",{"data-feather":"flag"},null,-1),kXe=[DXe],LXe={key:3,title:"Generation in progress...",class:"text-red-500 cursor-pointer"},PXe=c("i",{"data-feather":"flag"},null,-1),UXe=[PXe],FXe={key:4,title:"Connection status: Connected",class:"text-green-500 cursor-pointer"},BXe=c("i",{"data-feather":"zap"},null,-1),GXe=[BXe],VXe={key:5,title:"Connection status: Not connected",class:"text-red-500 cursor-pointer"},zXe=c("i",{"data-feather":"zap-off"},null,-1),HXe=[zXe],qXe=c("div",{class:"text-2xl hover:text-primary duration-150",title:"restart program"},[c("i",{"data-feather":"power"})],-1),YXe=[qXe],$Xe=c("div",{class:"text-2xl hover:text-primary duration-150",title:"refresh page"},[c("i",{"data-feather":"refresh-ccw"})],-1),WXe=[$Xe],KXe={href:"https://github.com/ParisNeo/lollms-webui",target:"_blank"},jXe={class:"text-2xl hover:text-primary duration-150",title:"Fast API doc"},QXe={href:"/docs",target:"_blank"},XXe=["src"],ZXe=Fu('
',2),JXe={href:"https://x.com/ParisNeo_AI",target:"_blank"},eZe={class:"text-2xl hover:fill-primary dark:fill-white dark:hover:fill-primary duration-150",title:"Follow me on my twitter acount"},tZe={class:"w-10 h-10 rounded-lg object-fill dark:text-white",xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1668.56 1221.19",style:{"enable-background":"new 0 0 1668.56 1221.19"},"xml:space":"preserve"},nZe=c("g",{id:"layer1",transform:"translate(52.390088,-25.058597)"},[c("path",{id:"path1009",d:`M283.94,167.31l386.39,516.64L281.5,1104h87.51l340.42-367.76L984.48,1104h297.8L874.15,558.3l361.92-390.99\r h-87.51l-313.51,338.7l-253.31-338.7H283.94z M412.63,231.77h136.81l604.13,807.76h-136.81L412.63,231.77z`})],-1),iZe=[nZe],sZe={href:"https://discord.com/channels/1092918764925882418",target:"_blank"},rZe={class:"text-2xl hover:text-primary duration-150",title:"Visit my discord channel"},oZe=["src"],aZe=c("i",{"data-feather":"sun"},null,-1),lZe=[aZe],cZe=c("i",{"data-feather":"moon"},null,-1),dZe=[cZe],uZe=["src"],pZe=["src"],_Ze=["src"],hZe={class:"language-selector relative",style:{position:"relative"}},fZe={key:0,ref:"languageMenu",class:"container language-menu absolute left-0 mt-1 bg-white dark:bg-bg-dark-tone rounded shadow-lg z-10 overflow-y-auto scrollbar-thin scrollbar-track-bg-light-tone scrollbar-thumb-bg-light-tone-panel hover:scrollbar-thumb-primary dark:scrollbar-track-bg-dark-tone dark:scrollbar-thumb-bg-dark-tone-panel dark:hover:scrollbar-thumb-primary active:scrollbar-thumb-secondary",style:{position:"absolute",top:"100%",width:"200px","max-height":"300px","overflow-y":"auto"}},mZe={style:{"list-style-type":"none","padding-left":"0","margin-left":"0"}},gZe=["onClick"],bZe=["onClick"],EZe={class:"cursor-pointer hover:text-white py-0 px-0 block whitespace-no-wrap"},yZe={role:"status",class:"fixed m-0 p-2 left-2 bottom-2 min-w-[24rem] max-w-[24rem] h-20 flex flex-col justify-center items-center pb-4 bg-blue-500 rounded-lg shadow-lg z-50 background-a"},vZe={class:"text-2xl animate-pulse mt-2 text-white"},SZe={id:"app"},TZe=c("body",null,null,-1),xZe={name:"TopBar",computed:{storeLogo(){return this.$store.state.config?Ti:this.$store.state.config.app_custom_logo!=""?"/user_infos/"+this.$store.state.config.app_custom_logo:Ti},languages:{get(){return console.log("searching languages",this.$store.state.languages),this.$store.state.languages}},language:{get(){return console.log("searching language",this.$store.state.language),this.$store.state.language}},currentPersonConfig(){try{return this.$store.state.currentPersonConfig}catch{console.log("Error finding current personality configuration");return}},selectedPersonality(){try{return this.$store.state.selectedPersonality}catch{console.log("Error finding current personality configuration");return}},loading_infos(){return this.$store.state.loading_infos},is_fun_mode(){try{return this.$store.state.config?this.$store.state.config.fun_mode:!1}catch(n){return console.error("Oopsie! Looks like we hit a snag: ",n),!1}},isModelOK(){return this.$store.state.isModelOk},isGenerating(){return this.$store.state.isGenerating},isConnected(){return this.$store.state.isConnected}},components:{Toast:hc,MessageBox:kN,ProgressBar:nc,UniversalForm:bc,YesNoDialog:LN,Navigation:GN,PersonalityEditor:PN,PopupViewer:UN},watch:{"$store.state.config.fun_mode":function(n,e){console.log(`Fun mode changed from ${e} to ${n}! 🎉`)},"$store.state.isConnected":function(n,e){this.isConnected?(console.log("this.is_first_connection"),console.log(this.is_first_connection),this.is_first_connection||(this.$store.state.messageBox.hideMessage(),this.$store.state.messageBox.showMessage("Server connected."),this.$store.state.config.activate_audio_infos&&this.connection_recovered_audio.play())):(this.$store.state.messageBox.showBlockingMessage("Server suddenly disconnected. Please reboot the server to recover the connection"),this.is_first_connection=!1,console.log("this.is_first_connection set to false"),console.log(this.is_first_connection),this.$store.state.config.activate_audio_infos&&this.connection_lost_audio.play()),Ge(()=>{He.replace()})}},data(){return{customLanguage:"",selectedLanguage:"",isLanguageMenuVisible:!1,static_info:VN,animated_info:EXe,normal_mode:HN,fun_mode:zN,is_first_connection:!0,discord:BN,FastAPI:FN,rebooting_audio:new Audio("rebooting.wav"),connection_lost_audio:new Audio("connection_lost.wav"),connection_recovered_audio:new Audio("connection_recovered.wav"),database_selectorDialogVisible:!1,progress_visibility:!1,progress_value:0,codeBlockStylesheet:"",sunIcon:document.querySelector(".sun"),moonIcon:document.querySelector(".moon"),userTheme:localStorage.getItem("theme"),systemTheme:window.matchMedia("prefers-color-scheme: dark").matches,posts_headers:{accept:"application/json","Content-Type":"application/json"}}},async mounted(){this.$store.state.toast=this.$refs.toast,this.$store.state.news=this.$refs.news,this.$store.state.messageBox=this.$refs.messageBox,this.$store.state.universalForm=this.$refs.universalForm,this.$store.state.yesNoDialog=this.$refs.yesNoDialog,this.$store.state.personality_editor=this.$refs.personality_editor,this.sunIcon=document.querySelector(".sun"),this.moonIcon=document.querySelector(".moon"),this.userTheme=localStorage.getItem("theme"),this.systemTheme=window.matchMedia("prefers-color-scheme: dark").matches,this.themeCheck(),Ge(()=>{He.replace()}),window.addEventListener("resize",this.adjustMenuPosition)},beforeUnmount(){window.removeEventListener("resize",this.adjustMenuPosition)},created(){this.sunIcon=document.querySelector(".sun"),this.moonIcon=document.querySelector(".moon"),this.userTheme=localStorage.getItem("theme"),this.systemTheme=window.matchMedia("prefers-color-scheme: dark").matches},methods:{adjustMenuPosition(){const n=this.$refs.languageMenu,e=n.getBoundingClientRect(),t=window.innerWidth;e.right>t?(n.style.left="auto",n.style.right="0"):(n.style.left="0",n.style.right="auto")},addCustomLanguage(){this.customLanguage.trim()!==""&&(this.selectLanguage(this.customLanguage),this.customLanguage="")},async selectLanguage(n){await this.$store.dispatch("changeLanguage",n),this.toggleLanguageMenu(),this.language=n},async deleteLanguage(n){await this.$store.dispatch("deleteLanguage",n),this.toggleLanguageMenu(),this.language=n},toggleLanguageMenu(){console.log("Toggling language ",this.isLanguageMenuVisible),this.isLanguageMenuVisible=!this.isLanguageMenuVisible},restartProgram(n){n.preventDefault(),this.$store.state.api_post_req("restart_program",this.$store.state.client_id),this.rebooting_audio.play(),this.$store.state.toast.showToast("Rebooting the app. Please wait...",410,!1),console.log("this.$store.state.api_get_req",this.$store.state.api_get_req),setTimeout(()=>{window.close()},2e3)},refreshPage(){window.location.href.split("/").length>4?window.location.href="/":window.location.reload(!0)},handleOk(n){console.log("Input text:",n)},applyConfiguration(){this.isLoading=!0,console.log(this.$store.state.config),Se.post("/apply_settings",{client_id:this.$store.state.client_id,config:this.$store.state.config},{headers:this.posts_headers}).then(n=>{this.isLoading=!1,n.data.status?(this.$store.state.toast.showToast("Configuration changed successfully.",4,!0),this.settingsChanged=!1):this.$store.state.toast.showToast("Configuration change failed.",4,!1),Ge(()=>{He.replace()})})},fun_mode_on(){console.log("Turning on fun mode"),this.$store.state.config.fun_mode=!0,this.applyConfiguration()},fun_mode_off(){console.log("Turning off fun mode"),this.$store.state.config.fun_mode=!1,this.applyConfiguration()},showNews(){this.$store.state.news.show()},themeCheck(){if(this.userTheme=="dark"||!this.userTheme&&this.systemTheme){document.documentElement.classList.add("dark"),this.moonIcon.classList.add("display-none"),Ge(()=>{Pp(()=>Promise.resolve({}),["assets/stackoverflow-dark-57af98f5.css"])});return}Ge(()=>{Pp(()=>Promise.resolve({}),["assets/stackoverflow-light-077a2b3c.css"])}),this.sunIcon.classList.add("display-none")},themeSwitch(){if(document.documentElement.classList.contains("dark")){document.documentElement.classList.remove("dark"),localStorage.setItem("theme","light"),this.userTheme=="light",this.iconToggle();return}Pp(()=>Promise.resolve({}),["assets/tokyo-night-dark-f9656fc4.css"]),document.documentElement.classList.add("dark"),localStorage.setItem("theme","dark"),this.userTheme=="dark",this.iconToggle()},iconToggle(){this.sunIcon.classList.toggle("display-none"),this.moonIcon.classList.toggle("display-none")}}},CZe=Object.assign(xZe,{setup(n){return(e,t)=>(w(),A($e,null,[c("header",yXe,[c("nav",vXe,[Te(yt(ks),{to:{name:"discussions"}},{default:We(()=>[c("div",SXe,[c("img",{class:"w-12 hover:scale-95 duration-150",title:"LoLLMS WebUI",src:e.$store.state.config==null?yt(Ti):e.$store.state.config.app_custom_logo!=""?"/user_infos/"+e.$store.state.config.app_custom_logo:yt(Ti),alt:"Logo"},null,8,TXe),xXe])]),_:1}),c("div",CXe,[e.isModelOK?(w(),A("div",wXe,AXe)):V("",!0),e.isModelOK?V("",!0):(w(),A("div",NXe,IXe)),e.isGenerating?V("",!0):(w(),A("div",MXe,kXe)),e.isGenerating?(w(),A("div",LXe,UXe)):V("",!0),e.isConnected?(w(),A("div",FXe,GXe)):V("",!0),e.isConnected?V("",!0):(w(),A("div",VXe,HXe)),c("a",{href:"#",onClick:t[0]||(t[0]=(...i)=>e.restartProgram&&e.restartProgram(...i))},YXe),c("a",{href:"#",onClick:t[1]||(t[1]=(...i)=>e.refreshPage&&e.refreshPage(...i))},WXe),c("a",KXe,[c("div",jXe,[c("a",QXe,[c("img",{src:yt(FN),width:"75",height:"25"},null,8,XXe)])])]),ZXe,c("a",JXe,[c("div",eZe,[(w(),A("svg",tZe,iZe))])]),c("a",sZe,[c("div",rZe,[c("img",{src:yt(BN),width:"25",height:"25"},null,8,oZe)])]),c("div",{class:"sun text-2xl w-6 hover:text-primary duration-150 cursor-pointer",title:"Swith to Light theme",onClick:t[2]||(t[2]=i=>e.themeSwitch())},lZe),c("div",{class:"moon text-2xl w-6 hover:text-primary duration-150 cursor-pointer",title:"Swith to Dark theme",onClick:t[3]||(t[3]=i=>e.themeSwitch())},dZe),c("div",{class:"moon text-2xl w-6 hover:text-primary duration-150 cursor-pointer",title:"Lollms News",onClick:t[4]||(t[4]=i=>e.showNews())},[c("img",{src:yt(VN)},null,8,uZe)]),e.is_fun_mode?(w(),A("div",{key:6,title:"fun mode is on press to turn off",class:"text-green-500 cursor-pointer",onClick:t[5]||(t[5]=i=>e.fun_mode_off())},[c("img",{class:"w-5 h-5",src:yt(zN)},null,8,pZe)])):(w(),A("div",{key:7,title:"fun mode is off press to turn on",class:"text-red-500 cursor-pointer",onClick:t[6]||(t[6]=i=>e.fun_mode_on())},[c("img",{class:"w-5 h-5",src:yt(HN)},null,8,_Ze)])),c("div",hZe,[c("button",{onClick:t[7]||(t[7]=(...i)=>e.toggleLanguageMenu&&e.toggleLanguageMenu(...i)),class:"bg-transparent text-black dark:text-white py-1 px-1 rounded font-bold uppercase transition-colors duration-300 hover:bg-blue-500"},he(e.$store.state.language.slice(0,2)),1),e.isLanguageMenuVisible?(w(),A("div",fZe,[c("ul",mZe,[(w(!0),A($e,null,lt(e.languages,i=>(w(),A("li",{key:i,class:"relative flex items-center",style:{"padding-left":"0","margin-left":"0"}},[c("button",{onClick:s=>e.deleteLanguage(i),class:"mr-2 text-red-500 hover:text-white hover:bg-red-700 focus:outline-none focus:ring-2 focus:ring-red-500 focus:ring-opacity-50 rounded-full"},"✕",8,gZe),c("div",{onClick:s=>e.selectLanguage(i),class:ze({"cursor-pointer hover:bg-blue-500 hover:text-white py-2 px-4 block whitespace-no-wrap":!0,"bg-blue-500 text-white":i===e.$store.state.language,"flex-grow":!0})},he(i),11,bZe)]))),128)),c("li",EZe,[G(c("input",{type:"text","onUpdate:modelValue":t[8]||(t[8]=i=>e.customLanguage=i),onKeyup:t[9]||(t[9]=Hs(ge((...i)=>e.addCustomLanguage&&e.addCustomLanguage(...i),["prevent"]),["enter"])),placeholder:"Enter language...",class:"bg-transparent border border-gray-300 rounded py-0 px-0 mx-0 my-1 w-full"},null,544),[[xe,e.customLanguage]])])])],512)):V("",!0)])])]),Te(GN),Te(hc,{ref:"toast"},null,512),Te(kN,{ref:"messageBox"},null,512),G(c("div",yZe,[Te(nc,{ref:"progress",progress:e.progress_value,class:"w-full h-4"},null,8,["progress"]),c("p",vZe,he(e.loading_infos)+" ...",1)],512),[[Mt,e.progress_visibility]]),Te(bc,{ref:"universalForm",class:"z-20"},null,512),Te(LN,{ref:"yesNoDialog",class:"z-20"},null,512),Te(PN,{ref:"personality_editor",config:e.currentPersonConfig,personality:e.selectedPersonality},null,8,["config","personality"]),c("div",SZe,[Te(UN,{ref:"news"},null,512)])]),TZe],64))}}),wZe={class:"flex overflow-hidden flex-grow w-full"},RZe={__name:"App",setup(n){return(e,t)=>(w(),A("div",{class:ze([e.currentTheme,"flex flex-col h-screen font-sans bg-bg-light text-slate-950 dark:bg-bg-dark dark:text-slate-50 w-full dark:bg-bg-dark overflow-hidden"])},[Te(CZe),c("div",wZe,[Te(yt(qA),null,{default:We(({Component:i})=>[(w(),xt(O2,null,[(w(),xt(Lu(i)))],1024))]),_:1})])],2))}},ds=Object.create(null);ds.open="0";ds.close="1";ds.ping="2";ds.pong="3";ds.message="4";ds.upgrade="5";ds.noop="6";const Dd=Object.create(null);Object.keys(ds).forEach(n=>{Dd[ds[n]]=n});const jg={type:"error",data:"parser error"},qN=typeof Blob=="function"||typeof Blob<"u"&&Object.prototype.toString.call(Blob)==="[object BlobConstructor]",YN=typeof ArrayBuffer=="function",$N=n=>typeof ArrayBuffer.isView=="function"?ArrayBuffer.isView(n):n&&n.buffer instanceof ArrayBuffer,bE=({type:n,data:e},t,i)=>qN&&e instanceof Blob?t?i(e):EC(e,i):YN&&(e instanceof ArrayBuffer||$N(e))?t?i(e):EC(new Blob([e]),i):i(ds[n]+(e||"")),EC=(n,e)=>{const t=new FileReader;return t.onload=function(){const i=t.result.split(",")[1];e("b"+(i||""))},t.readAsDataURL(n)};function yC(n){return n instanceof Uint8Array?n:n instanceof ArrayBuffer?new Uint8Array(n):new Uint8Array(n.buffer,n.byteOffset,n.byteLength)}let Lm;function AZe(n,e){if(qN&&n.data instanceof Blob)return n.data.arrayBuffer().then(yC).then(e);if(YN&&(n.data instanceof ArrayBuffer||$N(n.data)))return e(yC(n.data));bE(n,!1,t=>{Lm||(Lm=new TextEncoder),e(Lm.encode(t))})}const vC="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",wl=typeof Uint8Array>"u"?[]:new Uint8Array(256);for(let n=0;n{let e=n.length*.75,t=n.length,i,s=0,r,o,a,l;n[n.length-1]==="="&&(e--,n[n.length-2]==="="&&e--);const u=new ArrayBuffer(e),d=new Uint8Array(u);for(i=0;i>4,d[s++]=(o&15)<<4|a>>2,d[s++]=(a&3)<<6|l&63;return u},OZe=typeof ArrayBuffer=="function",EE=(n,e)=>{if(typeof n!="string")return{type:"message",data:WN(n,e)};const t=n.charAt(0);return t==="b"?{type:"message",data:IZe(n.substring(1),e)}:Dd[t]?n.length>1?{type:Dd[t],data:n.substring(1)}:{type:Dd[t]}:jg},IZe=(n,e)=>{if(OZe){const t=NZe(n);return WN(t,e)}else return{base64:!0,data:n}},WN=(n,e)=>{switch(e){case"blob":return n instanceof Blob?n:new Blob([n]);case"arraybuffer":default:return n instanceof ArrayBuffer?n:n.buffer}},KN=String.fromCharCode(30),MZe=(n,e)=>{const t=n.length,i=new Array(t);let s=0;n.forEach((r,o)=>{bE(r,!1,a=>{i[o]=a,++s===t&&e(i.join(KN))})})},DZe=(n,e)=>{const t=n.split(KN),i=[];for(let s=0;s{const i=t.length;let s;if(i<126)s=new Uint8Array(1),new DataView(s.buffer).setUint8(0,i);else if(i<65536){s=new Uint8Array(3);const r=new DataView(s.buffer);r.setUint8(0,126),r.setUint16(1,i)}else{s=new Uint8Array(9);const r=new DataView(s.buffer);r.setUint8(0,127),r.setBigUint64(1,BigInt(i))}n.data&&typeof n.data!="string"&&(s[0]|=128),e.enqueue(s),e.enqueue(t)})}})}let Pm;function Gc(n){return n.reduce((e,t)=>e+t.length,0)}function Vc(n,e){if(n[0].length===e)return n.shift();const t=new Uint8Array(e);let i=0;for(let s=0;sMath.pow(2,53-32)-1){a.enqueue(jg);break}s=d*Math.pow(2,32)+u.getUint32(4),i=3}else{if(Gc(t)n){a.enqueue(jg);break}}}})}const jN=4;function un(n){if(n)return PZe(n)}function PZe(n){for(var e in un.prototype)n[e]=un.prototype[e];return n}un.prototype.on=un.prototype.addEventListener=function(n,e){return this._callbacks=this._callbacks||{},(this._callbacks["$"+n]=this._callbacks["$"+n]||[]).push(e),this};un.prototype.once=function(n,e){function t(){this.off(n,t),e.apply(this,arguments)}return t.fn=e,this.on(n,t),this};un.prototype.off=un.prototype.removeListener=un.prototype.removeAllListeners=un.prototype.removeEventListener=function(n,e){if(this._callbacks=this._callbacks||{},arguments.length==0)return this._callbacks={},this;var t=this._callbacks["$"+n];if(!t)return this;if(arguments.length==1)return delete this._callbacks["$"+n],this;for(var i,s=0;stypeof self<"u"?self:typeof window<"u"?window:Function("return this")())();function QN(n,...e){return e.reduce((t,i)=>(n.hasOwnProperty(i)&&(t[i]=n[i]),t),{})}const UZe=fi.setTimeout,FZe=fi.clearTimeout;function rp(n,e){e.useNativeTimers?(n.setTimeoutFn=UZe.bind(fi),n.clearTimeoutFn=FZe.bind(fi)):(n.setTimeoutFn=fi.setTimeout.bind(fi),n.clearTimeoutFn=fi.clearTimeout.bind(fi))}const BZe=1.33;function GZe(n){return typeof n=="string"?VZe(n):Math.ceil((n.byteLength||n.size)*BZe)}function VZe(n){let e=0,t=0;for(let i=0,s=n.length;i=57344?t+=3:(i++,t+=4);return t}function zZe(n){let e="";for(let t in n)n.hasOwnProperty(t)&&(e.length&&(e+="&"),e+=encodeURIComponent(t)+"="+encodeURIComponent(n[t]));return e}function HZe(n){let e={},t=n.split("&");for(let i=0,s=t.length;i0);return e}function ZN(){const n=xC(+new Date);return n!==TC?(SC=0,TC=n):n+"."+xC(SC++)}for(;zc{this.readyState="paused",e()};if(this.polling||!this.writable){let i=0;this.polling&&(i++,this.once("pollComplete",function(){--i||t()})),this.writable||(i++,this.once("drain",function(){--i||t()}))}else t()}poll(){this.polling=!0,this.doPoll(),this.emitReserved("poll")}onData(e){const t=i=>{if(this.readyState==="opening"&&i.type==="open"&&this.onOpen(),i.type==="close")return this.onClose({description:"transport closed by the server"}),!1;this.onPacket(i)};DZe(e,this.socket.binaryType).forEach(t),this.readyState!=="closed"&&(this.polling=!1,this.emitReserved("pollComplete"),this.readyState==="open"&&this.poll())}doClose(){const e=()=>{this.write([{type:"close"}])};this.readyState==="open"?e():this.once("open",e)}write(e){this.writable=!1,MZe(e,t=>{this.doWrite(t,()=>{this.writable=!0,this.emitReserved("drain")})})}uri(){const e=this.opts.secure?"https":"http",t=this.query||{};return this.opts.timestampRequests!==!1&&(t[this.opts.timestampParam]=ZN()),!this.supportsBinary&&!t.sid&&(t.b64=1),this.createUri(e,t)}request(e={}){return Object.assign(e,{xd:this.xd,cookieJar:this.cookieJar},this.opts),new oa(this.uri(),e)}doWrite(e,t){const i=this.request({method:"POST",data:e});i.on("success",t),i.on("error",(s,r)=>{this.onError("xhr post error",s,r)})}doPoll(){const e=this.request();e.on("data",this.onData.bind(this)),e.on("error",(t,i)=>{this.onError("xhr poll error",t,i)}),this.pollXhr=e}}let oa=class kd extends un{constructor(e,t){super(),rp(this,t),this.opts=t,this.method=t.method||"GET",this.uri=e,this.data=t.data!==void 0?t.data:null,this.create()}create(){var e;const t=QN(this.opts,"agent","pfx","key","passphrase","cert","ca","ciphers","rejectUnauthorized","autoUnref");t.xdomain=!!this.opts.xd;const i=this.xhr=new eO(t);try{i.open(this.method,this.uri,!0);try{if(this.opts.extraHeaders){i.setDisableHeaderCheck&&i.setDisableHeaderCheck(!0);for(let s in this.opts.extraHeaders)this.opts.extraHeaders.hasOwnProperty(s)&&i.setRequestHeader(s,this.opts.extraHeaders[s])}}catch{}if(this.method==="POST")try{i.setRequestHeader("Content-type","text/plain;charset=UTF-8")}catch{}try{i.setRequestHeader("Accept","*/*")}catch{}(e=this.opts.cookieJar)===null||e===void 0||e.addCookies(i),"withCredentials"in i&&(i.withCredentials=this.opts.withCredentials),this.opts.requestTimeout&&(i.timeout=this.opts.requestTimeout),i.onreadystatechange=()=>{var s;i.readyState===3&&((s=this.opts.cookieJar)===null||s===void 0||s.parseCookies(i)),i.readyState===4&&(i.status===200||i.status===1223?this.onLoad():this.setTimeoutFn(()=>{this.onError(typeof i.status=="number"?i.status:0)},0))},i.send(this.data)}catch(s){this.setTimeoutFn(()=>{this.onError(s)},0);return}typeof document<"u"&&(this.index=kd.requestsCount++,kd.requests[this.index]=this)}onError(e){this.emitReserved("error",e,this.xhr),this.cleanup(!0)}cleanup(e){if(!(typeof this.xhr>"u"||this.xhr===null)){if(this.xhr.onreadystatechange=WZe,e)try{this.xhr.abort()}catch{}typeof document<"u"&&delete kd.requests[this.index],this.xhr=null}}onLoad(){const e=this.xhr.responseText;e!==null&&(this.emitReserved("data",e),this.emitReserved("success"),this.cleanup())}abort(){this.cleanup()}};oa.requestsCount=0;oa.requests={};if(typeof document<"u"){if(typeof attachEvent=="function")attachEvent("onunload",CC);else if(typeof addEventListener=="function"){const n="onpagehide"in fi?"pagehide":"unload";addEventListener(n,CC,!1)}}function CC(){for(let n in oa.requests)oa.requests.hasOwnProperty(n)&&oa.requests[n].abort()}const vE=(()=>typeof Promise=="function"&&typeof Promise.resolve=="function"?e=>Promise.resolve().then(e):(e,t)=>t(e,0))(),Hc=fi.WebSocket||fi.MozWebSocket,wC=!0,QZe="arraybuffer",RC=typeof navigator<"u"&&typeof navigator.product=="string"&&navigator.product.toLowerCase()==="reactnative";class XZe extends yE{constructor(e){super(e),this.supportsBinary=!e.forceBase64}get name(){return"websocket"}doOpen(){if(!this.check())return;const e=this.uri(),t=this.opts.protocols,i=RC?{}:QN(this.opts,"agent","perMessageDeflate","pfx","key","passphrase","cert","ca","ciphers","rejectUnauthorized","localAddress","protocolVersion","origin","maxPayload","family","checkServerIdentity");this.opts.extraHeaders&&(i.headers=this.opts.extraHeaders);try{this.ws=wC&&!RC?t?new Hc(e,t):new Hc(e):new Hc(e,t,i)}catch(s){return this.emitReserved("error",s)}this.ws.binaryType=this.socket.binaryType,this.addEventListeners()}addEventListeners(){this.ws.onopen=()=>{this.opts.autoUnref&&this.ws._socket.unref(),this.onOpen()},this.ws.onclose=e=>this.onClose({description:"websocket connection closed",context:e}),this.ws.onmessage=e=>this.onData(e.data),this.ws.onerror=e=>this.onError("websocket error",e)}write(e){this.writable=!1;for(let t=0;t{const o={};try{wC&&this.ws.send(r)}catch{}s&&vE(()=>{this.writable=!0,this.emitReserved("drain")},this.setTimeoutFn)})}}doClose(){typeof this.ws<"u"&&(this.ws.close(),this.ws=null)}uri(){const e=this.opts.secure?"wss":"ws",t=this.query||{};return this.opts.timestampRequests&&(t[this.opts.timestampParam]=ZN()),this.supportsBinary||(t.b64=1),this.createUri(e,t)}check(){return!!Hc}}class ZZe extends yE{get name(){return"webtransport"}doOpen(){typeof WebTransport=="function"&&(this.transport=new WebTransport(this.createUri("https"),this.opts.transportOptions[this.name]),this.transport.closed.then(()=>{this.onClose()}).catch(e=>{this.onError("webtransport error",e)}),this.transport.ready.then(()=>{this.transport.createBidirectionalStream().then(e=>{const t=LZe(Number.MAX_SAFE_INTEGER,this.socket.binaryType),i=e.readable.pipeThrough(t).getReader(),s=kZe();s.readable.pipeTo(e.writable),this.writer=s.writable.getWriter();const r=()=>{i.read().then(({done:a,value:l})=>{a||(this.onPacket(l),r())}).catch(a=>{})};r();const o={type:"open"};this.query.sid&&(o.data=`{"sid":"${this.query.sid}"}`),this.writer.write(o).then(()=>this.onOpen())})}))}write(e){this.writable=!1;for(let t=0;t{s&&vE(()=>{this.writable=!0,this.emitReserved("drain")},this.setTimeoutFn)})}}doClose(){var e;(e=this.transport)===null||e===void 0||e.close()}}const JZe={websocket:XZe,webtransport:ZZe,polling:jZe},eJe=/^(?:(?![^:@\/?#]+:[^:@\/]*@)(http|https|ws|wss):\/\/)?((?:(([^:@\/?#]*)(?::([^:@\/?#]*))?)?@)?((?:[a-f0-9]{0,4}:){2,7}[a-f0-9]{0,4}|[^:\/?#]*)(?::(\d*))?)(((\/(?:[^?#](?![^?#\/]*\.[^?#\/.]+(?:[?#]|$)))*\/?)?([^?#\/]*))(?:\?([^#]*))?(?:#(.*))?)/,tJe=["source","protocol","authority","userInfo","user","password","host","port","relative","path","directory","file","query","anchor"];function Xg(n){const e=n,t=n.indexOf("["),i=n.indexOf("]");t!=-1&&i!=-1&&(n=n.substring(0,t)+n.substring(t,i).replace(/:/g,";")+n.substring(i,n.length));let s=eJe.exec(n||""),r={},o=14;for(;o--;)r[tJe[o]]=s[o]||"";return t!=-1&&i!=-1&&(r.source=e,r.host=r.host.substring(1,r.host.length-1).replace(/;/g,":"),r.authority=r.authority.replace("[","").replace("]","").replace(/;/g,":"),r.ipv6uri=!0),r.pathNames=nJe(r,r.path),r.queryKey=iJe(r,r.query),r}function nJe(n,e){const t=/\/{2,9}/g,i=e.replace(t,"/").split("/");return(e.slice(0,1)=="/"||e.length===0)&&i.splice(0,1),e.slice(-1)=="/"&&i.splice(i.length-1,1),i}function iJe(n,e){const t={};return e.replace(/(?:^|&)([^&=]*)=?([^&]*)/g,function(i,s,r){s&&(t[s]=r)}),t}let tO=class Ko extends un{constructor(e,t={}){super(),this.binaryType=QZe,this.writeBuffer=[],e&&typeof e=="object"&&(t=e,e=null),e?(e=Xg(e),t.hostname=e.host,t.secure=e.protocol==="https"||e.protocol==="wss",t.port=e.port,e.query&&(t.query=e.query)):t.host&&(t.hostname=Xg(t.host).host),rp(this,t),this.secure=t.secure!=null?t.secure:typeof location<"u"&&location.protocol==="https:",t.hostname&&!t.port&&(t.port=this.secure?"443":"80"),this.hostname=t.hostname||(typeof location<"u"?location.hostname:"localhost"),this.port=t.port||(typeof location<"u"&&location.port?location.port:this.secure?"443":"80"),this.transports=t.transports||["polling","websocket","webtransport"],this.writeBuffer=[],this.prevBufferLen=0,this.opts=Object.assign({path:"/engine.io",agent:!1,withCredentials:!1,upgrade:!0,timestampParam:"t",rememberUpgrade:!1,addTrailingSlash:!0,rejectUnauthorized:!0,perMessageDeflate:{threshold:1024},transportOptions:{},closeOnBeforeunload:!1},t),this.opts.path=this.opts.path.replace(/\/$/,"")+(this.opts.addTrailingSlash?"/":""),typeof this.opts.query=="string"&&(this.opts.query=HZe(this.opts.query)),this.id=null,this.upgrades=null,this.pingInterval=null,this.pingTimeout=null,this.pingTimeoutTimer=null,typeof addEventListener=="function"&&(this.opts.closeOnBeforeunload&&(this.beforeunloadEventListener=()=>{this.transport&&(this.transport.removeAllListeners(),this.transport.close())},addEventListener("beforeunload",this.beforeunloadEventListener,!1)),this.hostname!=="localhost"&&(this.offlineEventListener=()=>{this.onClose("transport close",{description:"network connection lost"})},addEventListener("offline",this.offlineEventListener,!1))),this.open()}createTransport(e){const t=Object.assign({},this.opts.query);t.EIO=jN,t.transport=e,this.id&&(t.sid=this.id);const i=Object.assign({},this.opts,{query:t,socket:this,hostname:this.hostname,secure:this.secure,port:this.port},this.opts.transportOptions[e]);return new JZe[e](i)}open(){let e;if(this.opts.rememberUpgrade&&Ko.priorWebsocketSuccess&&this.transports.indexOf("websocket")!==-1)e="websocket";else if(this.transports.length===0){this.setTimeoutFn(()=>{this.emitReserved("error","No transports available")},0);return}else e=this.transports[0];this.readyState="opening";try{e=this.createTransport(e)}catch{this.transports.shift(),this.open();return}e.open(),this.setTransport(e)}setTransport(e){this.transport&&this.transport.removeAllListeners(),this.transport=e,e.on("drain",this.onDrain.bind(this)).on("packet",this.onPacket.bind(this)).on("error",this.onError.bind(this)).on("close",t=>this.onClose("transport close",t))}probe(e){let t=this.createTransport(e),i=!1;Ko.priorWebsocketSuccess=!1;const s=()=>{i||(t.send([{type:"ping",data:"probe"}]),t.once("packet",h=>{if(!i)if(h.type==="pong"&&h.data==="probe"){if(this.upgrading=!0,this.emitReserved("upgrading",t),!t)return;Ko.priorWebsocketSuccess=t.name==="websocket",this.transport.pause(()=>{i||this.readyState!=="closed"&&(d(),this.setTransport(t),t.send([{type:"upgrade"}]),this.emitReserved("upgrade",t),t=null,this.upgrading=!1,this.flush())})}else{const f=new Error("probe error");f.transport=t.name,this.emitReserved("upgradeError",f)}}))};function r(){i||(i=!0,d(),t.close(),t=null)}const o=h=>{const f=new Error("probe error: "+h);f.transport=t.name,r(),this.emitReserved("upgradeError",f)};function a(){o("transport closed")}function l(){o("socket closed")}function u(h){t&&h.name!==t.name&&r()}const d=()=>{t.removeListener("open",s),t.removeListener("error",o),t.removeListener("close",a),this.off("close",l),this.off("upgrading",u)};t.once("open",s),t.once("error",o),t.once("close",a),this.once("close",l),this.once("upgrading",u),this.upgrades.indexOf("webtransport")!==-1&&e!=="webtransport"?this.setTimeoutFn(()=>{i||t.open()},200):t.open()}onOpen(){if(this.readyState="open",Ko.priorWebsocketSuccess=this.transport.name==="websocket",this.emitReserved("open"),this.flush(),this.readyState==="open"&&this.opts.upgrade){let e=0;const t=this.upgrades.length;for(;e{this.onClose("ping timeout")},this.pingInterval+this.pingTimeout),this.opts.autoUnref&&this.pingTimeoutTimer.unref()}onDrain(){this.writeBuffer.splice(0,this.prevBufferLen),this.prevBufferLen=0,this.writeBuffer.length===0?this.emitReserved("drain"):this.flush()}flush(){if(this.readyState!=="closed"&&this.transport.writable&&!this.upgrading&&this.writeBuffer.length){const e=this.getWritablePackets();this.transport.send(e),this.prevBufferLen=e.length,this.emitReserved("flush")}}getWritablePackets(){if(!(this.maxPayload&&this.transport.name==="polling"&&this.writeBuffer.length>1))return this.writeBuffer;let t=1;for(let i=0;i0&&t>this.maxPayload)return this.writeBuffer.slice(0,i);t+=2}return this.writeBuffer}write(e,t,i){return this.sendPacket("message",e,t,i),this}send(e,t,i){return this.sendPacket("message",e,t,i),this}sendPacket(e,t,i,s){if(typeof t=="function"&&(s=t,t=void 0),typeof i=="function"&&(s=i,i=null),this.readyState==="closing"||this.readyState==="closed")return;i=i||{},i.compress=i.compress!==!1;const r={type:e,data:t,options:i};this.emitReserved("packetCreate",r),this.writeBuffer.push(r),s&&this.once("flush",s),this.flush()}close(){const e=()=>{this.onClose("forced close"),this.transport.close()},t=()=>{this.off("upgrade",t),this.off("upgradeError",t),e()},i=()=>{this.once("upgrade",t),this.once("upgradeError",t)};return(this.readyState==="opening"||this.readyState==="open")&&(this.readyState="closing",this.writeBuffer.length?this.once("drain",()=>{this.upgrading?i():e()}):this.upgrading?i():e()),this}onError(e){Ko.priorWebsocketSuccess=!1,this.emitReserved("error",e),this.onClose("transport error",e)}onClose(e,t){(this.readyState==="opening"||this.readyState==="open"||this.readyState==="closing")&&(this.clearTimeoutFn(this.pingTimeoutTimer),this.transport.removeAllListeners("close"),this.transport.close(),this.transport.removeAllListeners(),typeof removeEventListener=="function"&&(removeEventListener("beforeunload",this.beforeunloadEventListener,!1),removeEventListener("offline",this.offlineEventListener,!1)),this.readyState="closed",this.id=null,this.emitReserved("close",e,t),this.writeBuffer=[],this.prevBufferLen=0)}filterUpgrades(e){const t=[];let i=0;const s=e.length;for(;itypeof ArrayBuffer.isView=="function"?ArrayBuffer.isView(n):n.buffer instanceof ArrayBuffer,nO=Object.prototype.toString,aJe=typeof Blob=="function"||typeof Blob<"u"&&nO.call(Blob)==="[object BlobConstructor]",lJe=typeof File=="function"||typeof File<"u"&&nO.call(File)==="[object FileConstructor]";function SE(n){return rJe&&(n instanceof ArrayBuffer||oJe(n))||aJe&&n instanceof Blob||lJe&&n instanceof File}function Ld(n,e){if(!n||typeof n!="object")return!1;if(Array.isArray(n)){for(let t=0,i=n.length;t=0&&n.num{delete this.acks[e];for(let o=0;o{this.io.clearTimeoutFn(r),t.apply(this,[null,...o])}}emitWithAck(e,...t){const i=this.flags.timeout!==void 0||this._opts.ackTimeout!==void 0;return new Promise((s,r)=>{t.push((o,a)=>i?o?r(o):s(a):s(o)),this.emit(e,...t)})}_addToQueue(e){let t;typeof e[e.length-1]=="function"&&(t=e.pop());const i={id:this._queueSeq++,tryCount:0,pending:!1,args:e,flags:Object.assign({fromQueue:!0},this.flags)};e.push((s,...r)=>i!==this._queue[0]?void 0:(s!==null?i.tryCount>this._opts.retries&&(this._queue.shift(),t&&t(s)):(this._queue.shift(),t&&t(null,...r)),i.pending=!1,this._drainQueue())),this._queue.push(i),this._drainQueue()}_drainQueue(e=!1){if(!this.connected||this._queue.length===0)return;const t=this._queue[0];t.pending&&!e||(t.pending=!0,t.tryCount++,this.flags=t.flags,this.emit.apply(this,t.args))}packet(e){e.nsp=this.nsp,this.io._packet(e)}onopen(){typeof this.auth=="function"?this.auth(e=>{this._sendConnectPacket(e)}):this._sendConnectPacket(this.auth)}_sendConnectPacket(e){this.packet({type:Dt.CONNECT,data:this._pid?Object.assign({pid:this._pid,offset:this._lastOffset},e):e})}onerror(e){this.connected||this.emitReserved("connect_error",e)}onclose(e,t){this.connected=!1,delete this.id,this.emitReserved("disconnect",e,t)}onpacket(e){if(e.nsp===this.nsp)switch(e.type){case Dt.CONNECT:e.data&&e.data.sid?this.onconnect(e.data.sid,e.data.pid):this.emitReserved("connect_error",new Error("It seems you are trying to reach a Socket.IO server in v2.x with a v3.x client, but they are not compatible (more information here: https://socket.io/docs/v3/migrating-from-2-x-to-3-0/)"));break;case Dt.EVENT:case Dt.BINARY_EVENT:this.onevent(e);break;case Dt.ACK:case Dt.BINARY_ACK:this.onack(e);break;case Dt.DISCONNECT:this.ondisconnect();break;case Dt.CONNECT_ERROR:this.destroy();const i=new Error(e.data.message);i.data=e.data.data,this.emitReserved("connect_error",i);break}}onevent(e){const t=e.data||[];e.id!=null&&t.push(this.ack(e.id)),this.connected?this.emitEvent(t):this.receiveBuffer.push(Object.freeze(t))}emitEvent(e){if(this._anyListeners&&this._anyListeners.length){const t=this._anyListeners.slice();for(const i of t)i.apply(this,e)}super.emit.apply(this,e),this._pid&&e.length&&typeof e[e.length-1]=="string"&&(this._lastOffset=e[e.length-1])}ack(e){const t=this;let i=!1;return function(...s){i||(i=!0,t.packet({type:Dt.ACK,id:e,data:s}))}}onack(e){const t=this.acks[e.id];typeof t=="function"&&(t.apply(this,e.data),delete this.acks[e.id])}onconnect(e,t){this.id=e,this.recovered=t&&this._pid===t,this._pid=t,this.connected=!0,this.emitBuffered(),this.emitReserved("connect"),this._drainQueue(!0)}emitBuffered(){this.receiveBuffer.forEach(e=>this.emitEvent(e)),this.receiveBuffer=[],this.sendBuffer.forEach(e=>{this.notifyOutgoingListeners(e),this.packet(e)}),this.sendBuffer=[]}ondisconnect(){this.destroy(),this.onclose("io server disconnect")}destroy(){this.subs&&(this.subs.forEach(e=>e()),this.subs=void 0),this.io._destroy(this)}disconnect(){return this.connected&&this.packet({type:Dt.DISCONNECT}),this.destroy(),this.connected&&this.onclose("io client disconnect"),this}close(){return this.disconnect()}compress(e){return this.flags.compress=e,this}get volatile(){return this.flags.volatile=!0,this}timeout(e){return this.flags.timeout=e,this}onAny(e){return this._anyListeners=this._anyListeners||[],this._anyListeners.push(e),this}prependAny(e){return this._anyListeners=this._anyListeners||[],this._anyListeners.unshift(e),this}offAny(e){if(!this._anyListeners)return this;if(e){const t=this._anyListeners;for(let i=0;i0&&n.jitter<=1?n.jitter:0,this.attempts=0}Wa.prototype.duration=function(){var n=this.ms*Math.pow(this.factor,this.attempts++);if(this.jitter){var e=Math.random(),t=Math.floor(e*this.jitter*n);n=Math.floor(e*10)&1?n+t:n-t}return Math.min(n,this.max)|0};Wa.prototype.reset=function(){this.attempts=0};Wa.prototype.setMin=function(n){this.ms=n};Wa.prototype.setMax=function(n){this.max=n};Wa.prototype.setJitter=function(n){this.jitter=n};class eb extends un{constructor(e,t){var i;super(),this.nsps={},this.subs=[],e&&typeof e=="object"&&(t=e,e=void 0),t=t||{},t.path=t.path||"/socket.io",this.opts=t,rp(this,t),this.reconnection(t.reconnection!==!1),this.reconnectionAttempts(t.reconnectionAttempts||1/0),this.reconnectionDelay(t.reconnectionDelay||1e3),this.reconnectionDelayMax(t.reconnectionDelayMax||5e3),this.randomizationFactor((i=t.randomizationFactor)!==null&&i!==void 0?i:.5),this.backoff=new Wa({min:this.reconnectionDelay(),max:this.reconnectionDelayMax(),jitter:this.randomizationFactor()}),this.timeout(t.timeout==null?2e4:t.timeout),this._readyState="closed",this.uri=e;const s=t.parser||fJe;this.encoder=new s.Encoder,this.decoder=new s.Decoder,this._autoConnect=t.autoConnect!==!1,this._autoConnect&&this.open()}reconnection(e){return arguments.length?(this._reconnection=!!e,this):this._reconnection}reconnectionAttempts(e){return e===void 0?this._reconnectionAttempts:(this._reconnectionAttempts=e,this)}reconnectionDelay(e){var t;return e===void 0?this._reconnectionDelay:(this._reconnectionDelay=e,(t=this.backoff)===null||t===void 0||t.setMin(e),this)}randomizationFactor(e){var t;return e===void 0?this._randomizationFactor:(this._randomizationFactor=e,(t=this.backoff)===null||t===void 0||t.setJitter(e),this)}reconnectionDelayMax(e){var t;return e===void 0?this._reconnectionDelayMax:(this._reconnectionDelayMax=e,(t=this.backoff)===null||t===void 0||t.setMax(e),this)}timeout(e){return arguments.length?(this._timeout=e,this):this._timeout}maybeReconnectOnOpen(){!this._reconnecting&&this._reconnection&&this.backoff.attempts===0&&this.reconnect()}open(e){if(~this._readyState.indexOf("open"))return this;this.engine=new tO(this.uri,this.opts);const t=this.engine,i=this;this._readyState="opening",this.skipReconnect=!1;const s=ki(t,"open",function(){i.onopen(),e&&e()}),r=a=>{this.cleanup(),this._readyState="closed",this.emitReserved("error",a),e?e(a):this.maybeReconnectOnOpen()},o=ki(t,"error",r);if(this._timeout!==!1){const a=this._timeout,l=this.setTimeoutFn(()=>{s(),r(new Error("timeout")),t.close()},a);this.opts.autoUnref&&l.unref(),this.subs.push(()=>{this.clearTimeoutFn(l)})}return this.subs.push(s),this.subs.push(o),this}connect(e){return this.open(e)}onopen(){this.cleanup(),this._readyState="open",this.emitReserved("open");const e=this.engine;this.subs.push(ki(e,"ping",this.onping.bind(this)),ki(e,"data",this.ondata.bind(this)),ki(e,"error",this.onerror.bind(this)),ki(e,"close",this.onclose.bind(this)),ki(this.decoder,"decoded",this.ondecoded.bind(this)))}onping(){this.emitReserved("ping")}ondata(e){try{this.decoder.add(e)}catch(t){this.onclose("parse error",t)}}ondecoded(e){vE(()=>{this.emitReserved("packet",e)},this.setTimeoutFn)}onerror(e){this.emitReserved("error",e)}socket(e,t){let i=this.nsps[e];return i?this._autoConnect&&!i.active&&i.connect():(i=new iO(this,e,t),this.nsps[e]=i),i}_destroy(e){const t=Object.keys(this.nsps);for(const i of t)if(this.nsps[i].active)return;this._close()}_packet(e){const t=this.encoder.encode(e);for(let i=0;ie()),this.subs.length=0,this.decoder.destroy()}_close(){this.skipReconnect=!0,this._reconnecting=!1,this.onclose("forced close"),this.engine&&this.engine.close()}disconnect(){return this._close()}onclose(e,t){this.cleanup(),this.backoff.reset(),this._readyState="closed",this.emitReserved("close",e,t),this._reconnection&&!this.skipReconnect&&this.reconnect()}reconnect(){if(this._reconnecting||this.skipReconnect)return this;const e=this;if(this.backoff.attempts>=this._reconnectionAttempts)this.backoff.reset(),this.emitReserved("reconnect_failed"),this._reconnecting=!1;else{const t=this.backoff.duration();this._reconnecting=!0;const i=this.setTimeoutFn(()=>{e.skipReconnect||(this.emitReserved("reconnect_attempt",e.backoff.attempts),!e.skipReconnect&&e.open(s=>{s?(e._reconnecting=!1,e.reconnect(),this.emitReserved("reconnect_error",s)):e.onreconnect()}))},t);this.opts.autoUnref&&i.unref(),this.subs.push(()=>{this.clearTimeoutFn(i)})}}onreconnect(){const e=this.backoff.attempts;this._reconnecting=!1,this.backoff.reset(),this.emitReserved("reconnect",e)}}const _l={};function Pd(n,e){typeof n=="object"&&(e=n,n=void 0),e=e||{};const t=sJe(n,e.path||"/socket.io"),i=t.source,s=t.id,r=t.path,o=_l[s]&&r in _l[s].nsps,a=e.forceNew||e["force new connection"]||e.multiplex===!1||o;let l;return a?l=new eb(i,e):(_l[s]||(_l[s]=new eb(i,e)),l=_l[s]),t.query&&!e.query&&(e.query=t.queryKey),l.socket(t.path,e)}Object.assign(Pd,{Manager:eb,Socket:iO,io:Pd,connect:Pd});const sO="/";console.log(sO);const Ye=new Pd(sO,{reconnection:!0,reconnectionAttempts:10,reconnectionDelay:1e3});const gJe={props:{value:String,inputType:{type:String,default:"text",validator:n=>["text","email","password","file","path","integer","float"].includes(n)},fileAccept:String},data(){return{inputValue:this.value,placeholderText:this.getPlaceholderText()}},watch:{value(n){console.log("Changing value to ",n),this.inputValue=n}},mounted(){Ge(()=>{He.replace()}),console.log("Changing value to ",this.value),this.inputValue=this.value},methods:{handleSliderInput(n){this.inputValue=n.target.value,this.$emit("input",n.target.value)},getPlaceholderText(){switch(this.inputType){case"text":return"Enter text here";case"email":return"Enter your email";case"password":return"Enter your password";case"file":case"path":return"Choose a file";case"integer":return"Enter an integer";case"float":return"Enter a float";default:return"Enter value here"}},handleInput(n){if(this.inputType==="integer"){const e=n.target.value.replace(/[^0-9]/g,"");this.inputValue=e}console.log("handling input : ",n.target.value),this.$emit("input",n.target.value)},async pasteFromClipboard(){try{const n=await navigator.clipboard.readText();this.handleClipboardData(n)}catch(n){console.error("Failed to read from clipboard:",n)}},handlePaste(n){const e=n.clipboardData.getData("text");this.handleClipboardData(e)},handleClipboardData(n){switch(this.inputType){case"email":this.inputValue=this.isValidEmail(n)?n:"";break;case"password":this.inputValue=n;break;case"file":case"path":this.inputValue="";break;case"integer":this.inputValue=this.parseInteger(n);break;case"float":this.inputValue=this.parseFloat(n);break;default:this.inputValue=n;break}},isValidEmail(n){return/^[^\s@]+@[^\s@]+\.[^\s@]+$/.test(n)},parseInteger(n){const e=parseInt(n);return isNaN(e)?"":e},parseFloat(n){const e=parseFloat(n);return isNaN(e)?"":e},openFileInput(){this.$refs.fileInput.click()},handleFileInputChange(n){const e=n.target.files[0];e&&(this.inputValue=e.name)}}},bJe={class:"flex items-center space-x-2"},EJe=["value","type","placeholder"],yJe=["value","min","max"],vJe=c("i",{"data-feather":"clipboard"},null,-1),SJe=[vJe],TJe=c("i",{"data-feather":"upload"},null,-1),xJe=[TJe],CJe=["accept"];function wJe(n,e,t,i,s,r){return w(),A("div",bJe,[n.useSlider?(w(),A("input",{key:1,type:"range",value:parseInt(s.inputValue),min:n.minSliderValue,max:n.maxSliderValue,onInput:e[2]||(e[2]=(...o)=>r.handleSliderInput&&r.handleSliderInput(...o)),class:"flex-1 px-4 py-2 text-lg border dark:bg-gray-600 border-gray-300 rounded-md focus:outline-none focus:ring focus:border-blue-500"},null,40,yJe)):(w(),A("input",{key:0,value:s.inputValue,type:t.inputType,placeholder:s.placeholderText,onInput:e[0]||(e[0]=(...o)=>r.handleInput&&r.handleInput(...o)),onPaste:e[1]||(e[1]=(...o)=>r.handlePaste&&r.handlePaste(...o)),class:"flex-1 px-4 py-2 text-lg dark:bg-gray-600 border border-gray-300 rounded-md focus:outline-none focus:ring focus:border-blue-500"},null,40,EJe)),c("button",{onClick:e[3]||(e[3]=(...o)=>r.pasteFromClipboard&&r.pasteFromClipboard(...o)),class:"p-2 bg-blue-500 dark:bg-gray-600 text-white rounded-md hover:bg-blue-600 focus:outline-none focus:ring focus:border-blue-300"},SJe),t.inputType==="file"?(w(),A("button",{key:2,onClick:e[4]||(e[4]=(...o)=>r.openFileInput&&r.openFileInput(...o)),class:"p-2 bg-blue-500 text-white rounded-md hover:bg-blue-600 focus:outline-none focus:ring focus:border-blue-300"},xJe)):V("",!0),t.inputType==="file"?(w(),A("input",{key:3,ref:"fileInput",type:"file",style:{display:"none"},accept:t.fileAccept,onChange:e[5]||(e[5]=(...o)=>r.handleFileInputChange&&r.handleFileInputChange(...o))},null,40,CJe)):V("",!0)])}const xE=bt(gJe,[["render",wJe]]),RJe={name:"TokensHighlighter",props:{namedTokens:{type:Object,required:!0}},data(){return{colors:["#FF6633","#FFB399","#FF33FF","#FFFF99","#00B3E6","#E6B333","#3366E6","#999966","#99FF99","#B34D4D","#80B300","#809900","#E6B3B3","#6680B3","#66991A","#FF99E6","#CCFF1A","#FF1A66","#E6331A","#33FFCC","#66994D","#B366CC","#4D8000","#B33300","#CC80CC","#66664D","#991AFF","#E666FF","#4DB3FF","#1AB399","#E666B3","#33991A","#CC9999","#B3B31A","#00E680","#4D8066","#809980","#E6FF80","#1AFF33","#999933","#FF3380","#CCCC00","#66E64D","#4D80CC","#9900B3","#E64D66","#4DB380","#FF4D4D","#99E6E6","#6666FF"]}}},AJe={class:"w-full"},NJe={class:"break-words"},OJe={class:"break-words mt-2"},IJe={class:"mt-4"};function MJe(n,e,t,i,s,r){return w(),A("div",AJe,[c("div",NJe,[(w(!0),A($e,null,lt(t.namedTokens,(o,a)=>(w(),A("span",{key:a},[c("span",{class:"inline-block whitespace-pre-wrap",style:en({backgroundColor:s.colors[a%s.colors.length]})},he(o[0]),5)]))),128))]),c("div",OJe,[(w(!0),A($e,null,lt(t.namedTokens,(o,a)=>(w(),A("span",{key:a},[c("span",{class:"inline-block px-1 whitespace-pre-wrap",style:en({backgroundColor:s.colors[a%s.colors.length]})},he(o[1]),5)]))),128))]),c("div",IJe,[c("strong",null,"Total Tokens: "+he(t.namedTokens.length),1)])])}const DJe=bt(RJe,[["render",MJe]]);const kJe={props:{is_subcard:{type:Boolean,default:!1},is_shrunk:{type:Boolean,default:!1},title:{type:String,default:""},isHorizontal:{type:Boolean,default:!1},cardWidth:{type:String,default:"w-3/4"},disableHoverAnimation:{type:Boolean,default:!0},disableFocus:{type:Boolean,default:!1}},data(){return{shrink:this.is_shrunk,isHovered:!1,isActive:!1}},computed:{cardClass(){return["bg-gray-50","border","border-gray-300","text-gray-900","text-sm","rounded-lg","focus:ring-blue-500","focus:border-blue-500","w-full","p-2.5","dark:bg-gray-500","dark:border-gray-600","dark:placeholder-gray-400","dark:text-white","dark:focus:ring-blue-500","dark:focus:border-blue-500",{"cursor-pointer":!this.isActive&&!this.disableFocus,"w-auto":!this.isActive}]},cardWidthClass(){return this.isActive?this.cardWidth:""}},methods:{toggleCard(){this.disableFocus||(this.isActive=!this.isActive)}}},LJe={key:1,class:"flex flex-wrap"},PJe={key:2,class:"mb-2"};function UJe(n,e,t,i,s,r){return w(),A($e,null,[s.isActive?(w(),A("div",{key:0,class:"overlay",onClick:e[0]||(e[0]=(...o)=>r.toggleCard&&r.toggleCard(...o))})):V("",!0),G(c("div",{class:ze(["border-blue-300 rounded-lg shadow-lg p-2",r.cardWidthClass,"m-2",{"bg-white dark:bg-gray-800":t.is_subcard},{"bg-white dark:bg-gray-900":!t.is_subcard},{hovered:!t.disableHoverAnimation&&s.isHovered,active:s.isActive}]),onMouseenter:e[2]||(e[2]=o=>s.isHovered=!0),onMouseleave:e[3]||(e[3]=o=>s.isHovered=!1),onClick:e[4]||(e[4]=ge((...o)=>r.toggleCard&&r.toggleCard(...o),["self"])),style:en({cursor:this.disableFocus?"":"pointer"})},[t.title?(w(),A("div",{key:0,onClick:e[1]||(e[1]=o=>s.shrink=!0),class:ze([{"text-center p-2 m-2 bg-gray-200":!t.is_subcard},"bg-gray-100 dark:bg-gray-500 rounded-lg pl-2 pr-2 mb-2 font-bold cursor-pointer"])},he(t.title),3)):V("",!0),t.isHorizontal?(w(),A("div",LJe,[kn(n.$slots,"default")])):(w(),A("div",PJe,[kn(n.$slots,"default")]))],38),[[Mt,s.shrink===!1]]),t.is_subcard?G((w(),A("div",{key:1,onClick:e[5]||(e[5]=o=>s.shrink=!1),class:"bg-white text-center text-xl bold dark:bg-gray-500 border-blue-300 rounded-lg shadow-lg p-2 h-10 cursor-pointer m-2"},he(t.title),513)),[[Mt,s.shrink===!0]]):G((w(),A("div",{key:2,onClick:e[6]||(e[6]=o=>s.shrink=!1),class:"bg-white text-center text-2xl dark:bg-gray-500 border-2 border-blue-300 rounded-lg shadow-lg p-0 h-7 cursor-pointer hover:h-8 hover:bg-blue-300"}," + ",512)),[[Mt,s.shrink===!0]])],64)}const op=bt(kJe,[["render",UJe]]),rO="/assets/code_block-e2753d3f.svg",oO="/assets/python_block-4008a934.png",aO="/assets/javascript_block-5e59df30.svg",lO="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADIAAAAyCAYAAAAeP4ixAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAOeSURBVGhD7ZhNaBNBGIZHW/EPbSioRSpi0FRpVdRSjQfxkFilB5UciuChIL0JLaKIhR5KIYKIiBSF0mLVS7AIavUgPQjiT4+KB0EP3gwS8VDBgj8d33d2ZrNJt2lCppKWfeBh5pvdncyXmZ3sZokQQsIFz1JdLni8M8L6QkSNf9HMSJBIpREkUmkEiVQaQSKVRpCIH8lkUtbW1sre3l7fB9FoNCrD4fC8PaSyYyudNzU1yZGRkYJ9dXV1yUQiYTMZNX6rM5LJZERHR0fBh0/MmJDSZh4OVhOZmprStf+P1UQmJyd1zaGvr09NuxM5VFVViYmJCR3Zw1oiPT09koP00tjYKNrb23XkEIlERHV1tY7sMuNbK5XR0VGJwcnBwcGi+uns7Cz7Mz24fVnpdGhoSDY0NBTbjxweHi77MzXu+N2KBebsh7PW0tJi6/OIGr/Vm72mpkbXssTj8ZxBp9NpUV9fryN7WE0kn1QqJcfHx3U0v1hNJBQKqXtFh2JsbEx0d3frKMv09LSu2UWtMadaHm1tberxQ+9Koq6uLqff1tZW2dzcLPXviy3c8bsVG/T398+6I8ViMTkwMGDtszRq/MEfdJVGkEilESRSaZSSyCa43anmsAPGII/7wWd7nnMEbmaDD2G41anmsA76tfui9mGnWpAPkOftVpEQuyDfkMz19Bv0cg56j9NP8AQ07IXm2Es2eHgK2b5RRf6Ya7OVOchP5D1kfA0m4GX4CxouQR7/A6/DC/CObqNRSA5A00Y7oeG/JMJBM65TUS7rIV/gefw4GzzchWx/rKJsIu90+REaik6knJv9hy5vw4NO1WU/XAG/w0ds8MABk326NLyGL+A2eJYNpVBOIhd1eRS+gs/hTjYAc4M+06WX+7rkt7zKqbrc0OV5WNIjUzmJDME9MKUiIQ5DvnyshOZfCL/+l+uSz/I/narLA8gvhLsb77miKScR8haegqfhb7gBcoa4M5G4Lr0069Kck88VXZ6B+TNWEHWzONWCpCHPM78lZhkZ3kAePwa36DpthQYulwxke5INwNzst1Tk8ASa66mVXYtLgFPOc7iVroUtOh6F3Gbv6fgLXAPJVWj65vU3IW9oxl+hWWJ+iRyC5lpqJZHP0JxjbnBO+UP4F5pjXNsnoRf+IJqZpNySmRSXoMEvEeL9Iqwkwm20Cfqt12UwAleraHZCcLbHEzLz75fiUeMP3hArjUWTiHdpLWgWyYwI8Q8rrSjH5vAr6AAAAABJRU5ErkJggg==",cO="/assets/cpp_block-109b2fbe.png",dO="/assets/html5_block-205d2852.png",uO="/assets/LaTeX_block-06b165c0.png",pO="/assets/bash_block-7ca80e4e.png",FJe="/assets/tokenize_icon-0553c60f.svg",BJe="/assets/deaf_on-7481cb29.svg",GJe="/assets/deaf_off-c2c46908.svg",VJe="/assets/rec_on-3b37b566.svg",zJe="/assets/rec_off-2c08e836.svg",_O="/assets/loading-c3bdfb0a.svg";const HJe="/";async function NC(n,e="",t=[]){return new Promise((i,s)=>{const r=document.createElement("div");r.className="fixed inset-0 flex items-center justify-center bg-black bg-opacity-50 z-50",t.length===0?r.innerHTML=`

${n}

@@ -83,7 +83,7 @@ https://github.com/highlightjs/highlight.js/issues/2277`),ae=U,j=Q),J===void 0&& `+this.text.slice(e,t)+"\n```\n"+this.text.slice(t),e=e+4+n.length):(this.text=this.text.slice(0,e)+"\n```"+n+` `+this.text.slice(e,t)+"\n```\n"+this.text.slice(t),e=e+3+n.length),this.$refs.mdTextarea.focus(),this.$refs.mdTextarea.selectionStart=this.$refs.mdTextarea.selectionEnd=p},insertTab(n){const e=n.target,t=e.selectionStart,i=e.selectionEnd,s=e.value.substring(0,t),r=e.value.substring(i),o=s+" "+r;this.text=o,this.$nextTick(()=>{e.selectionStart=e.selectionEnd=t+4}),n.preventDefault()},mdTextarea_changed(){console.log("mdTextarea_changed"),this.cursorPosition=this.$refs.mdTextarea.selectionStart},mdTextarea_clicked(){console.log(`mdTextarea_clicked: ${this.$refs.mdTextarea.selectionStart}`),this.cursorPosition=this.$refs.mdTextarea.selectionStart},setModel(){this.selecting_model=!0,Se.post("/update_setting",{client_id:this.$store.state.client_id,setting_name:"model_name",setting_value:this.selectedModel}).then(n=>{console.log(n),n.status&&this.$refs.toast.showToast(`Model changed to ${this.selectedModel}`,4,!0),this.selecting_model=!1}).catch(n=>{this.$refs.toast.showToast(`Error ${n}`,4,!0),this.selecting_model=!1})},onVoicesChanged(){this.voices=this.speechSynthesis.getVoices()},read(){console.log("READING..."),this.isSynthesizingVoice=!0;let n=this.$refs.mdTextarea.selectionStart,e=this.$refs.mdTextarea.selectionEnd,t=this.text;n!=e&&(t=t.slice(n,e)),Se.post("./text2Audio",{text:t}).then(i=>{console.log(i.data.url);let s=i.data.url;this.audio_url=HJe+s,this.isSynthesizingVoice=!1,Ge(()=>{He.replace()})}).catch(i=>{this.$refs.toast.showToast(`Error: ${i}`,4,!1),this.isSynthesizingVoice=!1,Ge(()=>{He.replace()})})},speak(){if(this.msg){this.speechSynthesis.cancel(),this.msg=null,this.isSpeaking=!1;return}let n=0;console.log("voice on"),this.isSpeaking=!0;const e=200;this.msg=new SpeechSynthesisUtterance,this.msg.pitch=this.$store.state.config.audio_pitch,this.voices.length>0&&(this.msg.voice=this.voices.filter(s=>s.name===this.$store.state.config.audio_out_voice)[0]);const t=s=>{let r=this.text.substring(s,s+e);const o=[".","!","?",` `];let a=-1;return o.forEach(l=>{const u=r.lastIndexOf(l);u>a&&(a=u)}),a==-1&&(a=r.length),console.log(a),a+s+1},i=()=>{const s=t(n),r=this.text.substring(n,s);this.msg.text=r,n=s+1,this.msg.onend=o=>{n{i()},1):(this.isSpeaking=!1,console.log("voice off :",this.text.length," ",s))},this.speechSynthesis.speak(this.msg)};i()},getCursorPosition(){return this.$refs.mdTextarea.selectionStart},appendToOutput(n){this.pre_text+=n,this.text=this.pre_text+this.post_text},generate_in_placeholder(){console.log("Finding cursor position");let n=this.text.indexOf("@@");if(n<0){this.$refs.toast.showToast("No generation placeholder found",4,!1);return}this.text=this.text.substring(0,n)+this.text.substring(n+26,this.text.length),this.pre_text=this.text.substring(0,n),this.post_text=this.text.substring(n,this.text.length);var e=this.text.substring(0,n);console.log(e),Ye.emit("generate_text",{prompt:e,personality:-1,n_predicts:this.n_predicts,n_crop:this.n_crop,parameters:{temperature:this.temperature,top_k:this.top_k,top_p:this.top_p,repeat_penalty:this.repeat_penalty,repeat_last_n:this.repeat_last_n,seed:parseInt(this.seed)}}),this.generating=!0},async tokenize_text(){const n=await Se.post("/lollms_tokenize",{prompt:this.text},{headers:this.posts_headers});console.log(n.data.named_tokens),this.namedTokens=n.data.named_tokens},generate(){console.log("Finding cursor position"),this.pre_text=this.text.substring(0,this.getCursorPosition()),this.post_text=this.text.substring(this.getCursorPosition(),this.text.length);var n=this.text.substring(0,this.getCursorPosition());console.log(this.text),console.log(`cursor position :${this.getCursorPosition()}`),console.log(`pretext:${this.pre_text}`),console.log(`post_text:${this.post_text}`),console.log(`prompt:${n}`),Ye.emit("generate_text",{prompt:n,personality:-1,n_predicts:this.n_predicts,n_crop:this.n_crop,parameters:{temperature:this.temperature,top_k:this.top_k,top_p:this.top_p,repeat_penalty:this.repeat_penalty,repeat_last_n:this.repeat_last_n,seed:parseInt(this.seed)}}),this.generating=!0},stopGeneration(){Ye.emit("cancel_text_generation",{})},exportText(){const n=this.text,e=document.createElement("a"),t=new Blob([n],{type:"text/plain"});e.href=URL.createObjectURL(t),e.download="exported_text.txt",document.body.appendChild(e),e.click(),document.body.removeChild(e)},importText(){const n=document.getElementById("import-input");n&&(n.addEventListener("change",e=>{if(e.target.files&&e.target.files[0]){const t=new FileReader;t.onload=()=>{this.text=t.result},t.readAsText(e.target.files[0])}else alert("Please select a file.")}),n.click())},setPreset(){console.log("Setting preset"),console.log(this.selectedPreset),this.tab_id="render",this.text=qJe(this.selectedPreset.content,n=>{console.log("Done"),console.log(n),this.text=n})},addPreset(){let n=prompt("Enter the title of the preset:");this.presets[n]={client_id:this.$store.state.client_id,name:n,content:this.text},Se.post("./add_preset",this.presets[n]).then(e=>{console.log(e.data)}).catch(e=>{this.$refs.toast.showToast(`Error: ${e}`,4,!1)})},removePreset(){this.selectedPreset&&delete this.presets[this.selectedPreset.name]},reloadPresets(){Se.get("./get_presets").then(n=>{console.log(n.data),this.presets=n.data,this.selectedPreset=this.presets[0]}).catch(n=>{this.$refs.toast.showToast(`Error: ${n}`,4,!1)})},startRecording(){this.pending=!0,this.is_recording?Se.post("/stop_recording",{client_id:this.$store.state.client_id}).then(n=>{this.is_recording=!1,this.pending=!1,console.log(n),this.text+=n.data.text,console.log(n.data),this.presets=n.data,this.selectedPreset=this.presets[0]}).catch(n=>{this.$refs.toast.showToast(`Error: ${n}`,4,!1)}):Se.post("/start_recording",{client_id:this.$store.state.client_id}).then(n=>{this.is_recording=!0,this.pending=!1,console.log(n.data)}).catch(n=>{this.$refs.toast.showToast(`Error: ${n}`,4,!1)})},startRecordingAndTranscribing(){this.pending=!0,this.is_deaf_transcribing?Se.get("/stop_recording").then(n=>{this.is_deaf_transcribing=!1,this.pending=!1,this.text=n.data.text,this.read()}).catch(n=>{this.$refs.toast.showToast(`Error: ${n}`,4,!1)}):Se.get("/start_recording").then(n=>{this.is_deaf_transcribing=!0,this.pending=!1}).catch(n=>{this.$refs.toast.showToast(`Error: ${n}`,4,!1)})},startSpeechRecognition(){"SpeechRecognition"in window||"webkitSpeechRecognition"in window?(this.recognition=new(window.SpeechRecognition||window.webkitSpeechRecognition),this.recognition.lang=this.$store.state.config.audio_in_language,this.recognition.interimResults=!0,this.recognition.onstart=()=>{this.isLesteningToVoice=!0,this.silenceTimer=setTimeout(()=>{this.recognition.stop()},this.silenceTimeout)},this.pre_text=this.text.substring(0,this.getCursorPosition()),this.post_text=this.text.substring(this.getCursorPosition(),this.text.length),this.recognition.onresult=n=>{this.generated="";for(let e=n.resultIndex;e{this.recognition.stop()},this.silenceTimeout)},this.recognition.onerror=n=>{console.error("Speech recognition error:",n.error),this.isLesteningToVoice=!1,clearTimeout(this.silenceTimer)},this.recognition.onend=()=>{console.log("Speech recognition ended."),this.isLesteningToVoice=!1,this.pre_text=this.pre_text+this.generated,this.cursorPosition=this.pre_text.length,clearTimeout(this.silenceTimer)},this.recognition.start()):console.error("Speech recognition is not supported in this browser.")}}},$Je={class:"container w-full bg-bg-light dark:bg-bg-dark shadow-lg overflow-y-auto scrollbar-thin scrollbar-track-bg-light-tone scrollbar-thumb-bg-light-tone-panel hover:scrollbar-thumb-primary dark:scrollbar-track-bg-dark-tone dark:scrollbar-thumb-bg-dark-tone-panel dark:hover:scrollbar-thumb-primary active:scrollbar-thumb-secondary"},WJe={class:"container flex flex-row m-2 w-full"},KJe={class:"flex-grow max-w-[900px] m-2"},jJe={class:"flex gap-3 flex-1 items-center flex-grow flex-row m-2 p-2 border border-blue-300 rounded-md border-2 border-blue-300 m-2 p-4"},QJe=c("i",{"data-feather":"pen-tool"},null,-1),XJe=[QJe],ZJe=c("i",{"data-feather":"archive"},null,-1),JJe=[ZJe],eet=["src"],tet=c("span",{class:"w-80"},null,-1),net=c("i",{"data-feather":"x"},null,-1),iet=[net],set=c("i",{"data-feather":"mic"},null,-1),ret=[set],oet=c("i",{"data-feather":"volume-2"},null,-1),aet=[oet],cet=c("i",{"data-feather":"speaker"},null,-1),det=[cet],uet=["src"],pet=["src"],_et=["src"],het=["src"],fet=c("i",{"data-feather":"voicemail"},null,-1),met=[fet],get={key:1,"aria-hidden":"true",class:"w-6 h-6 animate-spin fill-secondary",viewBox:"0 0 100 101",fill:"none",xmlns:"http://www.w3.org/2000/svg"},bet=c("path",{d:"M100 50.5908C100 78.2051 77.6142 100.591 50 100.591C22.3858 100.591 0 78.2051 0 50.5908C0 22.9766 22.3858 0.59082 50 0.59082C77.6142 0.59082 100 22.9766 100 50.5908ZM9.08144 50.5908C9.08144 73.1895 27.4013 91.5094 50 91.5094C72.5987 91.5094 90.9186 73.1895 90.9186 50.5908C90.9186 27.9921 72.5987 9.67226 50 9.67226C27.4013 9.67226 9.08144 27.9921 9.08144 50.5908Z",fill:"currentColor"},null,-1),Eet=c("path",{d:"M93.9676 39.0409C96.393 38.4038 97.8624 35.9116 97.0079 33.5539C95.2932 28.8227 92.871 24.3692 89.8167 20.348C85.8452 15.1192 80.8826 10.7238 75.2124 7.41289C69.5422 4.10194 63.2754 1.94025 56.7698 1.05124C51.7666 0.367541 46.6976 0.446843 41.7345 1.27873C39.2613 1.69328 37.813 4.19778 38.4501 6.62326C39.0873 9.04874 41.5694 10.4717 44.0505 10.1071C47.8511 9.54855 51.7191 9.52689 55.5402 10.0491C60.8642 10.7766 65.9928 12.5457 70.6331 15.2552C75.2735 17.9648 79.3347 21.5619 82.5849 25.841C84.9175 28.9121 86.7997 32.2913 88.1811 35.8758C89.083 38.2158 91.5421 39.6781 93.9676 39.0409Z",fill:"currentFill"},null,-1),yet=[bet,Eet],vet=c("i",{"data-feather":"upload"},null,-1),Tet=[vet],xet=c("i",{"data-feather":"download"},null,-1),Cet=[xet],wet={class:"flex gap-3 flex-1 items-center flex-grow justify-end"},Ret=c("input",{type:"file",id:"import-input",class:"hidden"},null,-1),Aet={key:0},Net={class:"flex flex-row justify-end mx-2"},Oet=["src"],Iet=["src"],Met=["src"],Det=["src"],ket=["src"],Let=["src"],Pet=["src"],Uet=["src"],Fet=c("i",{"data-feather":"copy"},null,-1),Bet=[Fet],Get=["src"],Vet={key:2},zet=["value"],Het={key:0,title:"Selecting model",class:"flex flex-row flex-grow justify-end"},qet=c("div",{role:"status"},[c("svg",{"aria-hidden":"true",class:"w-6 h-6 animate-spin fill-secondary",viewBox:"0 0 100 101",fill:"none",xmlns:"http://www.w3.org/2000/svg"},[c("path",{d:"M100 50.5908C100 78.2051 77.6142 100.591 50 100.591C22.3858 100.591 0 78.2051 0 50.5908C0 22.9766 22.3858 0.59082 50 0.59082C77.6142 0.59082 100 22.9766 100 50.5908ZM9.08144 50.5908C9.08144 73.1895 27.4013 91.5094 50 91.5094C72.5987 91.5094 90.9186 73.1895 90.9186 50.5908C90.9186 27.9921 72.5987 9.67226 50 9.67226C27.4013 9.67226 9.08144 27.9921 9.08144 50.5908Z",fill:"currentColor"}),c("path",{d:"M93.9676 39.0409C96.393 38.4038 97.8624 35.9116 97.0079 33.5539C95.2932 28.8227 92.871 24.3692 89.8167 20.348C85.8452 15.1192 80.8826 10.7238 75.2124 7.41289C69.5422 4.10194 63.2754 1.94025 56.7698 1.05124C51.7666 0.367541 46.6976 0.446843 41.7345 1.27873C39.2613 1.69328 37.813 4.19778 38.4501 6.62326C39.0873 9.04874 41.5694 10.4717 44.0505 10.1071C47.8511 9.54855 51.7191 9.52689 55.5402 10.0491C60.8642 10.7766 65.9928 12.5457 70.6331 15.2552C75.2735 17.9648 79.3347 21.5619 82.5849 25.841C84.9175 28.9121 86.7997 32.2913 88.1811 35.8758C89.083 38.2158 91.5421 39.6781 93.9676 39.0409Z",fill:"currentFill"})]),c("span",{class:"sr-only"},"Selecting model...")],-1),Yet=[qet],$et=["value"],Wet=c("br",null,null,-1),Ket=c("i",{"data-feather":"check"},null,-1),jet=[Ket],Qet=c("i",{"data-feather":"plus"},null,-1),Xet=[Qet],Zet=c("i",{"data-feather":"x"},null,-1),Jet=[Zet],ett=c("i",{"data-feather":"refresh-ccw"},null,-1),ttt=[ett],ntt={class:"slider-container ml-2 mr-2"},itt=c("h3",{class:"text-gray-600"},"Temperature",-1),stt={class:"slider-value text-gray-500"},rtt={class:"slider-container ml-2 mr-2"},ott=c("h3",{class:"text-gray-600"},"Top K",-1),att={class:"slider-value text-gray-500"},ltt={class:"slider-container ml-2 mr-2"},ctt=c("h3",{class:"text-gray-600"},"Top P",-1),dtt={class:"slider-value text-gray-500"},utt={class:"slider-container ml-2 mr-2"},ptt=c("h3",{class:"text-gray-600"},"Repeat Penalty",-1),_tt={class:"slider-value text-gray-500"},htt={class:"slider-container ml-2 mr-2"},ftt=c("h3",{class:"text-gray-600"},"Repeat Last N",-1),mtt={class:"slider-value text-gray-500"},gtt={class:"slider-container ml-2 mr-2"},btt=c("h3",{class:"text-gray-600"},"Number of tokens to crop the text to",-1),Ett={class:"slider-value text-gray-500"},ytt={class:"slider-container ml-2 mr-2"},vtt=c("h3",{class:"text-gray-600"},"Number of tokens to generate",-1),Stt={class:"slider-value text-gray-500"},Ttt={class:"slider-container ml-2 mr-2"},xtt=c("h3",{class:"text-gray-600"},"Seed",-1),Ctt={class:"slider-value text-gray-500"};function wtt(n,e,t,i,s,r){const o=mt("tokens-hilighter"),a=mt("MarkdownRenderer"),l=mt("Card"),u=mt("Toast");return w(),A($e,null,[c("div",$Je,[c("div",WJe,[c("div",KJe,[c("div",jJe,[G(c("button",{id:"generate-button",title:"Generate from current cursor position",onClick:e[0]||(e[0]=(...d)=>r.generate&&r.generate(...d)),class:"w-6 ml-2 hover:text-secondary duration-75 active:scale-90 cursor-pointer"},XJe,512),[[Mt,!s.generating]]),G(c("button",{id:"generate-next-button",title:"Generate from next place holder",onClick:e[1]||(e[1]=(...d)=>r.generate_in_placeholder&&r.generate_in_placeholder(...d)),class:"w-6 ml-2 hover:text-secondary duration-75 active:scale-90 cursor-pointer"},JJe,512),[[Mt,!s.generating]]),G(c("button",{id:"tokenize",title:"Tokenize text",onClick:e[2]||(e[2]=(...d)=>r.tokenize_text&&r.tokenize_text(...d)),class:"w-6 ml-2 hover:text-secondary duration-75 active:scale-90 cursor-pointer"},[c("img",{width:"25",height:"25",src:s.tokenize_icon},null,8,eet)],512),[[Mt,!s.generating]]),tet,G(c("button",{id:"stop-button",onClick:e[3]||(e[3]=(...d)=>r.stopGeneration&&r.stopGeneration(...d)),class:"w-6 ml-2 hover:text-secondary duration-75 active:scale-90 cursor-pointer"},iet,512),[[Mt,s.generating]]),c("button",{type:"button",title:"Dictate (using your browser for transcription)",onClick:e[4]||(e[4]=(...d)=>r.startSpeechRecognition&&r.startSpeechRecognition(...d)),class:ze([{"text-red-500":s.isLesteningToVoice},"w-6 hover:text-secondary duration-75 active:scale-90 cursor-pointer"])},ret,2),c("button",{title:"convert text to audio (not saved and uses your browser tts service)",onClick:e[5]||(e[5]=ge(d=>r.speak(),["stop"])),class:ze([{"text-red-500":r.isTalking},"w-6 hover:text-secondary duration-75 active:scale-90 cursor-pointer"])},aet,2),c("input",{type:"file",ref:"fileInput",onChange:e[6]||(e[6]=(...d)=>r.handleFileUpload&&r.handleFileUpload(...d)),style:{display:"none"},accept:".wav"},null,544),c("button",{title:"Upload a voice",onClick:e[7]||(e[7]=(...d)=>r.triggerFileUpload&&r.triggerFileUpload(...d))},det),c("button",{type:"button",title:"Start audio to audio",onClick:e[8]||(e[8]=(...d)=>r.startRecordingAndTranscribing&&r.startRecordingAndTranscribing(...d)),class:ze([{"text-green-500":s.isLesteningToVoice},"w-6 hover:text-secondary duration-75 active:scale-90 cursor-pointer text-red-500"])},[s.pending?V("",!0):(w(),A("img",{key:0,src:s.is_deaf_transcribing?s.deaf_on:s.deaf_off,height:"25"},null,8,uet)),s.pending?(w(),A("img",{key:1,src:s.loading_icon,height:"25"},null,8,pet)):V("",!0)],2),c("button",{type:"button",title:"Start recording audio",onClick:e[9]||(e[9]=(...d)=>r.startRecording&&r.startRecording(...d)),class:ze([{"text-green-500":s.isLesteningToVoice},"w-6 hover:text-secondary duration-75 active:scale-90 cursor-pointer text-red-500"])},[s.pending?V("",!0):(w(),A("img",{key:0,src:s.is_recording?s.rec_on:s.rec_off,height:"25"},null,8,_et)),s.pending?(w(),A("img",{key:1,src:s.loading_icon,height:"25"},null,8,het)):V("",!0)],2),s.isSynthesizingVoice?(w(),A("svg",get,yet)):(w(),A("button",{key:0,title:"generate audio from the text",onClick:e[10]||(e[10]=ge(d=>r.read(),["stop"])),class:"w-6 hover:text-secondary duration-75 active:scale-90 cursor-pointer"},met)),G(c("button",{id:"export-button",onClick:e[11]||(e[11]=(...d)=>r.exportText&&r.exportText(...d)),class:"w-6 ml-2 hover:text-secondary duration-75 active:scale-90 cursor-pointer"},Tet,512),[[Mt,!s.generating]]),G(c("button",{id:"import-button",onClick:e[12]||(e[12]=(...d)=>r.importText&&r.importText(...d)),class:"w-6 ml-2 hover:text-secondary duration-75 active:scale-90 cursor-pointer"},Cet,512),[[Mt,!s.generating]]),c("div",wet,[c("button",{class:ze(["border-2 text-blue-600 dark:text-white border-blue-300 p-2 rounded shadow-lg hover:border-gray-600 dark:link-item-dark cursor-pointer",{"bg-blue-200 dark:bg-blue-500":s.tab_id=="source"}]),onClick:e[13]||(e[13]=d=>s.tab_id="source")}," Source ",2),c("button",{class:ze(["border-2 text-blue-600 dark:text-white border-blue-300 p-2 rounded shadow-lg hover:border-gray-600 dark:link-item-dark cursor-pointer",{"bg-blue-200 dark:bg-blue-500":s.tab_id=="render"}]),onClick:e[14]||(e[14]=d=>s.tab_id="render")}," Render ",2)]),Ret]),c("div",{class:ze(["flex-grow m-2 p-2 border border-blue-300 rounded-md border-2 border-blue-300 m-2 p-4",{"border-red-500":s.generating}])},[s.tab_id==="source"?(w(),A("div",Aet,[c("div",Net,[c("div",{class:"text-lg hover:text-secondary duration-75 active:scale-90 p-2 cursor-pointer hover:border-2",title:"Add generic block",onClick:e[15]||(e[15]=ge(d=>r.addBlock(""),["stop"]))},[c("img",{src:s.code_block,width:"25",height:"25"},null,8,Oet)]),c("div",{class:"text-lg hover:text-secondary duration-75 active:scale-90 p-2 cursor-pointer hover:border-2",title:"Add python block",onClick:e[16]||(e[16]=ge(d=>r.addBlock("python"),["stop"]))},[c("img",{src:s.python_block,width:"25",height:"25"},null,8,Iet)]),c("div",{class:"text-lg hover:text-secondary duration-75 active:scale-90 p-2 cursor-pointer hover:border-2",title:"Add javascript block",onClick:e[17]||(e[17]=ge(d=>r.addBlock("javascript"),["stop"]))},[c("img",{src:s.javascript_block,width:"25",height:"25"},null,8,Met)]),c("div",{class:"text-lg hover:text-secondary duration-75 active:scale-90 p-2 cursor-pointer hover:border-2",title:"Add json block",onClick:e[18]||(e[18]=ge(d=>r.addBlock("json"),["stop"]))},[c("img",{src:s.json_block,width:"25",height:"25"},null,8,Det)]),c("div",{class:"text-lg hover:text-secondary duration-75 active:scale-90 p-2 cursor-pointer hover:border-2",title:"Add c++ block",onClick:e[19]||(e[19]=ge(d=>r.addBlock("c++"),["stop"]))},[c("img",{src:s.cpp_block,width:"25",height:"25"},null,8,ket)]),c("div",{class:"text-lg hover:text-secondary duration-75 active:scale-90 p-2 cursor-pointer hover:border-2",title:"Add html block",onClick:e[20]||(e[20]=ge(d=>r.addBlock("html"),["stop"]))},[c("img",{src:s.html5_block,width:"25",height:"25"},null,8,Let)]),c("div",{class:"text-lg hover:text-secondary duration-75 active:scale-90 p-2 cursor-pointer hover:border-2",title:"Add LaTex block",onClick:e[21]||(e[21]=ge(d=>r.addBlock("latex"),["stop"]))},[c("img",{src:s.LaTeX_block,width:"25",height:"25"},null,8,Pet)]),c("div",{class:"text-lg hover:text-secondary duration-75 active:scale-90 p-2 cursor-pointer hover:border-2",title:"Add bash block",onClick:e[22]||(e[22]=ge(d=>r.addBlock("bash"),["stop"]))},[c("img",{src:s.bash_block,width:"25",height:"25"},null,8,Uet)]),c("div",{class:"text-lg hover:text-secondary duration-75 active:scale-90 p-2 cursor-pointer hover:border-2",title:"Copy message to clipboard",onClick:e[23]||(e[23]=ge(d=>n.copyContentToClipboard(),["stop"]))},Bet)]),G(c("textarea",{ref:"mdTextarea",onKeydown:e[24]||(e[24]=Hs(ge((...d)=>r.insertTab&&r.insertTab(...d),["prevent"]),["tab"])),class:"block min-h-500 p-2.5 w-full text-gray-900 bg-gray-50 rounded-lg border border-gray-300 focus:ring-blue-500 focus:border-blue-500 dark:bg-gray-700 dark:border-gray-600 dark:placeholder-gray-400 dark:text-white dark:focus:ring-blue-500 dark:focus:border-blue-500 overflow-y-scroll flex flex-col shadow-lg p-10 pt-0 overflow-y-scroll dark:bg-bg-dark scrollbar-thin scrollbar-track-bg-light-tone scrollbar-thumb-bg-light-tone-panel hover:scrollbar-thumb-primary dark:scrollbar-track-bg-dark-tone dark:scrollbar-thumb-bg-dark-tone-panel dark:hover:scrollbar-thumb-primary active:scrollbar-thumb-secondary",rows:4,style:en({minHeight:s.mdRenderHeight+"px"}),placeholder:"Enter message here...","onUpdate:modelValue":e[25]||(e[25]=d=>s.text=d),onClick:e[26]||(e[26]=ge((...d)=>r.mdTextarea_clicked&&r.mdTextarea_clicked(...d),["prevent"])),onChange:e[27]||(e[27]=ge((...d)=>r.mdTextarea_changed&&r.mdTextarea_changed(...d),["prevent"]))},`\r - `,36),[[xe,s.text]]),c("span",null,"Cursor position "+he(s.cursorPosition),1)])):V("",!0),s.audio_url!=null?(w(),A("audio",{controls:"",key:s.audio_url},[c("source",{src:s.audio_url,type:"audio/wav",ref:"audio_player"},null,8,Get),et(" Your browser does not support the audio element. ")])):V("",!0),Te(o,{namedTokens:s.namedTokens},null,8,["namedTokens"]),s.tab_id==="render"?(w(),A("div",Vet,[Te(a,{ref:"mdRender",client_id:this.$store.state.client_id,message_id:0,discussion_id:0,"markdown-text":s.text,class:"mt-4 p-2 rounded shadow-lg dark:bg-bg-dark"},null,8,["client_id","markdown-text"])])):V("",!0)],2)]),Te(l,{title:"settings",class:"slider-container ml-0 mr-0",isHorizontal:!1,disableHoverAnimation:!0,disableFocus:!0},{default:We(()=>[Te(l,{title:"Model",class:"slider-container ml-0 mr-0",is_subcard:!0,isHorizontal:!1,disableHoverAnimation:!0,disableFocus:!0},{default:We(()=>[G(c("select",{"onUpdate:modelValue":e[28]||(e[28]=d=>this.$store.state.selectedModel=d),onChange:e[29]||(e[29]=(...d)=>r.setModel&&r.setModel(...d)),class:"bg-white dark:bg-black m-0 border-2 rounded-md shadow-sm w-full"},[(w(!0),A($e,null,lt(r.models,d=>(w(),A("option",{key:d,value:d},he(d),9,zet))),128))],544),[[Wt,this.$store.state.selectedModel]]),s.selecting_model?(w(),A("div",Het,Yet)):V("",!0)]),_:1}),Te(l,{title:"Presets",class:"slider-container ml-0 mr-0",is_subcard:!0,isHorizontal:!1,disableHoverAnimation:!0,disableFocus:!0},{default:We(()=>[G(c("select",{"onUpdate:modelValue":e[30]||(e[30]=d=>s.selectedPreset=d),class:"bg-white dark:bg-black mb-2 border-2 rounded-md shadow-sm w-full"},[(w(!0),A($e,null,lt(s.presets,d=>(w(),A("option",{key:d,value:d},he(d.name),9,$et))),128))],512),[[Wt,s.selectedPreset]]),Wet,c("button",{class:"w-6 ml-2 hover:text-secondary duration-75 active:scale-90 cursor-pointer",onClick:e[31]||(e[31]=(...d)=>r.setPreset&&r.setPreset(...d)),title:"Use preset"},jet),c("button",{class:"w-6 ml-2 hover:text-secondary duration-75 active:scale-90 cursor-pointer",onClick:e[32]||(e[32]=(...d)=>r.addPreset&&r.addPreset(...d)),title:"Add this text as a preset"},Xet),c("button",{class:"w-6 ml-2 hover:text-secondary duration-75 active:scale-90 cursor-pointer",onClick:e[33]||(e[33]=(...d)=>r.removePreset&&r.removePreset(...d)),title:"Remove preset"},Jet),c("button",{class:"w-6 ml-2 hover:text-secondary duration-75 active:scale-90 cursor-pointer",onClick:e[34]||(e[34]=(...d)=>r.reloadPresets&&r.reloadPresets(...d)),title:"Reload presets list"},ttt)]),_:1}),Te(l,{title:"Generation params",class:"slider-container ml-0 mr-0",is_subcard:!0,isHorizontal:!1,disableHoverAnimation:!0,disableFocus:!0},{default:We(()=>[c("div",ntt,[itt,G(c("input",{type:"range","onUpdate:modelValue":e[35]||(e[35]=d=>s.temperature=d),min:"0",max:"5",step:"0.1",class:"w-full"},null,512),[[xe,s.temperature]]),c("span",stt,"Current value: "+he(s.temperature),1)]),c("div",rtt,[ott,G(c("input",{type:"range","onUpdate:modelValue":e[36]||(e[36]=d=>s.top_k=d),min:"1",max:"100",step:"1",class:"w-full"},null,512),[[xe,s.top_k]]),c("span",att,"Current value: "+he(s.top_k),1)]),c("div",ltt,[ctt,G(c("input",{type:"range","onUpdate:modelValue":e[37]||(e[37]=d=>s.top_p=d),min:"0",max:"1",step:"0.1",class:"w-full"},null,512),[[xe,s.top_p]]),c("span",dtt,"Current value: "+he(s.top_p),1)]),c("div",utt,[ptt,G(c("input",{type:"range","onUpdate:modelValue":e[38]||(e[38]=d=>s.repeat_penalty=d),min:"0",max:"5",step:"0.1",class:"bg-white dark:bg-black m-0 border-2 rounded-md shadow-sm w-full"},null,512),[[xe,s.repeat_penalty]]),c("span",_tt,"Current value: "+he(s.repeat_penalty),1)]),c("div",htt,[ftt,G(c("input",{type:"range","onUpdate:modelValue":e[39]||(e[39]=d=>s.repeat_last_n=d),min:"0",max:"100",step:"1",class:"bg-white dark:bg-black m-0 border-2 rounded-md shadow-sm w-full"},null,512),[[xe,s.repeat_last_n]]),c("span",mtt,"Current value: "+he(s.repeat_last_n),1)]),c("div",gtt,[btt,G(c("input",{type:"number","onUpdate:modelValue":e[40]||(e[40]=d=>s.n_crop=d),class:"bg-white dark:bg-black m-0 border-2 rounded-md shadow-sm w-full"},null,512),[[xe,s.n_crop]]),c("span",Ett,"Current value: "+he(s.n_crop),1)]),c("div",ytt,[vtt,G(c("input",{type:"number","onUpdate:modelValue":e[41]||(e[41]=d=>s.n_predicts=d),class:"bg-white dark:bg-black m-0 border-2 rounded-md shadow-sm w-full"},null,512),[[xe,s.n_predicts]]),c("span",Stt,"Current value: "+he(s.n_predicts),1)]),c("div",Ttt,[xtt,G(c("input",{type:"number","onUpdate:modelValue":e[42]||(e[42]=d=>s.seed=d),class:"bg-white dark:bg-black m-0 border-2 rounded-md shadow-sm w-full"},null,512),[[xe,s.seed]]),c("span",Ctt,"Current value: "+he(s.seed),1)])]),_:1})]),_:1})])]),Te(u,{ref:"toast"},null,512)],64)}const Rtt=bt(YJe,[["render",wtt]]);const Att={data(){return{activeExtension:null}},computed:{activeExtensions(){return console.log(this.$store.state.extensionsZoo),console.log(nM(this.$store.state.extensionsZoo)),this.$store.state.extensionsZoo}},methods:{showExtensionPage(n){this.activeExtension=n}}},Ntt={class:"container overflow-y-scroll flex flex-col shadow-lg p-10 pt-0 overflow-y-scroll w-full dark:bg-bg-dark scrollbar-thin scrollbar-track-bg-light-tone scrollbar-thumb-bg-light-tone-panel hover:scrollbar-thumb-primary dark:scrollbar-track-bg-dark-tone dark:scrollbar-thumb-bg-dark-tone-panel dark:hover:scrollbar-thumb-primary active:scrollbar-thumb-secondary"},Ott={key:0},Itt=["onClick"],Mtt={key:0},Dtt=["src"],ktt={key:1},Ltt=c("p",null,"No extension is active. Please install and activate an extension.",-1),Ptt=[Ltt];function Utt(n,e,t,i,s,r){return w(),A("div",Ntt,[r.activeExtensions.length>0?(w(),A("div",Ott,[(w(!0),A($e,null,lt(r.activeExtensions,o=>(w(),A("div",{key:o.name,onClick:a=>r.showExtensionPage(o)},[c("div",{class:ze({"active-tab":o===s.activeExtension})},he(o.name),3)],8,Itt))),128)),s.activeExtension?(w(),A("div",Mtt,[c("iframe",{src:s.activeExtension.page,width:"100%",height:"500px",frameborder:"0"},null,8,Dtt)])):V("",!0)])):(w(),A("div",ktt,Ptt))])}const Ftt=bt(Att,[["render",Utt]]),Btt={},Gtt={style:{width:"100vw",height:"100vh"}},Vtt=c("iframe",{src:"/help/index.html",class:"m-0 p-0 w-full h-full"},null,-1),ztt=[Vtt];function Htt(n,e,t,i,s,r){return w(),A("div",Gtt,ztt)}const qtt=bt(Btt,[["render",Htt]]);function os(n,e=!0,t=1){const i=e?1e3:1024;if(Math.abs(n)=i&&r{He.replace()})},executeCommand(n){this.isMenuOpen=!1,console.log("Selected"),console.log(n.value),typeof n.value=="function"&&(console.log("Command detected",n),n.value()),this.execute_cmd&&(console.log("executing generic command"),this.execute_cmd(n))},positionMenu(){var n;if(this.$refs.menuButton!=null){if(this.force_position==0||this.force_position==null){const e=this.$refs.menuButton.getBoundingClientRect(),t=window.innerHeight;n=e.bottom>t/2}else this.force_position==1?n=!0:n=!1;this.menuPosition.top=n?"auto":"calc(100% + 10px)",this.menuPosition.bottom=n?"100%":"auto"}}},mounted(){window.addEventListener("resize",this.positionMenu),this.positionMenu(),Ge(()=>{He.replace()})},beforeDestroy(){window.removeEventListener("resize",this.positionMenu)},watch:{isMenuOpen:"positionMenu"}},$tt={class:"menu-container"},Wtt=["title"],Ktt=["src"],jtt=["data-feather"],Qtt={key:2,class:"w-5 h-5"},Xtt={key:3,"data-feather":"menu"},Ztt={class:"flex-grow menu-ul"},Jtt=["onClick"],ent={key:0,"data-feather":"check"},tnt=["src","alt"],nnt=["data-feather"],int={key:3,class:"menu-icon"};function snt(n,e,t,i,s,r){return w(),A("div",$tt,[c("button",{onClick:e[0]||(e[0]=ge((...o)=>r.toggleMenu&&r.toggleMenu(...o),["prevent"])),title:t.title,class:ze([t.menuIconClass,"menu-button m-0 p-0 bg-blue-500 text-white dark:bg-blue-200 dark:text-gray-800 rounded flex items-center justify-center w-6 h-6 border-none cursor-pointer hover:bg-blue-400 w-8 h-8 object-fill text-red-700 border-2 active:scale-90 hover:z-20 hover:-translate-y-2 duration-150 border-gray-300 border-secondary cursor-pointer"]),ref:"menuButton"},[t.icon&&!t.icon.includes("#")&&!t.icon.includes("feather")?(w(),A("img",{key:0,src:t.icon,class:"w-5 h-5 p-0 m-0 shadow-lg bold"},null,8,Ktt)):t.icon&&t.icon.includes("feather")?(w(),A("i",{key:1,"data-feather":t.icon.split(":")[1],class:"w-5 h-5"},null,8,jtt)):t.icon&&t.icon.includes("#")?(w(),A("p",Qtt,he(t.icon.split("#")[1]),1)):(w(),A("i",Xtt))],10,Wtt),Te(Vi,{name:"slide"},{default:We(()=>[s.isMenuOpen?(w(),A("div",{key:0,class:"menu-list flex-grow",style:en(s.menuPosition),ref:"menu"},[c("ul",Ztt,[(w(!0),A($e,null,lt(t.commands,(o,a)=>(w(),A("li",{key:a,onClick:ge(l=>r.executeCommand(o),["prevent"]),class:"menu-command menu-li flex-grow hover:bg-blue-400"},[t.selected_entry==o.name?(w(),A("i",ent)):o.icon&&!o.icon.includes("feather")&&!o.is_file?(w(),A("img",{key:1,src:o.icon,alt:o.name,class:"menu-icon"},null,8,tnt)):V("",!0),o.icon&&o.icon.includes("feather")&&!o.is_file?(w(),A("i",{key:2,"data-feather":o.icon.split(":")[1],class:"mr-2"},null,8,nnt)):(w(),A("span",int)),c("span",null,he(o.name),1)],8,Jtt))),128))])],4)):V("",!0)]),_:1})])}const CE=bt(Ytt,[["render",snt]]),rnt={components:{InteractiveMenu:CE},props:{isInstalled:Boolean,onInstall:Function,onCancelInstall:Function,onUninstall:Function,onSelected:Function,onCopy:Function,onCopyLink:Function,selected:Boolean,model:Object,model_type:String},data(){return{progress:0,speed:0,total_size:0,downloaded_size:0,start_time:"",installing:!1,uninstalling:!1,failedToLoad:!1,linkNotValid:!1,selected_variant:""}},async mounted(){Ge(()=>{He.replace()})},methods:{formatFileSize(n){return n<1024?n+" bytes":n<1024*1024?(n/1024).toFixed(2)+" KB":n<1024*1024*1024?(n/(1024*1024)).toFixed(2)+" MB":(n/(1024*1024*1024)).toFixed(2)+" GB"},computedFileSize(n){return os(n)},getImgUrl(){return this.model.icon==null||this.model.icon==="/images/default_model.png"?Li:this.model.icon},defaultImg(n){n.target.src=Li},install(){this.onInstall(this)},uninstall(){this.isInstalled&&this.onUninstall(this)},toggleInstall(){this.isInstalled?(this.uninstalling=!0,this.onUninstall(this)):this.onInstall(this)},toggleSelected(n){if(console.log("event.target.tagName.toLowerCase()"),console.log(n.target.tagName.toLowerCase()),n.target.tagName.toLowerCase()==="button"||n.target.tagName.toLowerCase()==="svg"){n.stopPropagation();return}this.onSelected(this),this.model.selected=!0,Ge(()=>{He.replace()})},toggleCopy(){this.onCopy(this)},toggleCopyLink(){this.onCopyLink(this)},toggleCancelInstall(){this.onCancelInstall(this),this.installing=!1},handleSelection(){this.isInstalled&&!this.selected&&this.onSelected(this)},copyContentToClipboard(){this.$emit("copy","this.message.content")}},computed:{computed_classes(){return this.model.isInstalled?this.selected?"border-4 border-gray-200 bg-primary cursor-pointer":"border-0 border-primary bg-primary cursor-pointer":"border-transparent"},commandsList(){let n=[{name:this.model.isInstalled?"Install Extra":"Install",icon:"feather:settings",is_file:!1,value:this.install},{name:"Copy model info to clipboard",icon:"feather:settings",is_file:!1,value:this.toggleCopy}];return this.model.isInstalled&&n.push({name:"UnInstall",icon:"feather:settings",is_file:!1,value:this.uninstall}),this.selected&&n.push({name:"Reload",icon:"feather:refresh-ccw",is_file:!1,value:this.toggleSelected}),n},selected_computed(){return this.selected},fileSize:{get(){if(this.model&&this.model.variants&&this.model.variants.length>0){const n=this.model.variants[0].size;return this.formatFileSize(n)}return null}},speed_computed(){return os(this.speed)},total_size_computed(){return os(this.total_size)},downloaded_size_computed(){return os(this.downloaded_size)}},watch:{linkNotValid(){Ge(()=>{He.replace()})}}},ont=["title"],ant={key:0,class:"flex flex-row"},lnt={class:"max-w-[300px] overflow-x-auto"},cnt={class:"flex gap-3 items-center grow"},dnt=["href"],unt=["src"],pnt={class:"flex-1 overflow-hidden"},_nt={class:"font-bold font-large text-lg truncate"},hnt={key:1,class:"flex items-center flex-row gap-2 my-1"},fnt={class:"flex grow items-center"},mnt=c("i",{"data-feather":"box",class:"w-5"},null,-1),gnt=c("span",{class:"sr-only"},"Custom model / local model",-1),bnt=[mnt,gnt],Ent=c("span",{class:"sr-only"},"Remove",-1),ynt={key:2,class:"absolute z-10 -m-4 p-5 shadow-md text-center rounded-lg w-full h-full bg-bg-light-tone-panel dark:bg-bg-dark-tone-panel bg-opacity-70 dark:bg-opacity-70 flex justify-center items-center"},vnt={class:"relative flex flex-col items-center justify-center flex-grow h-full"},Snt=c("div",{role:"status",class:"justify-center"},[c("svg",{"aria-hidden":"true",class:"w-24 h-24 mr-2 text-gray-200 animate-spin dark:text-gray-600 fill-blue-600",viewBox:"0 0 100 101",fill:"none",xmlns:"http://www.w3.org/2000/svg"},[c("path",{d:"M100 50.5908C100 78.2051 77.6142 100.591 50 100.591C22.3858 100.591 0 78.2051 0 50.5908C0 22.9766 22.3858 0.59082 50 0.59082C77.6142 0.59082 100 22.9766 100 50.5908ZM9.08144 50.5908C9.08144 73.1895 27.4013 91.5094 50 91.5094C72.5987 91.5094 90.9186 73.1895 90.9186 50.5908C90.9186 27.9921 72.5987 9.67226 50 9.67226C27.4013 9.67226 9.08144 27.9921 9.08144 50.5908Z",fill:"currentColor"}),c("path",{d:"M93.9676 39.0409C96.393 38.4038 97.8624 35.9116 97.0079 33.5539C95.2932 28.8227 92.871 24.3692 89.8167 20.348C85.8452 15.1192 80.8826 10.7238 75.2124 7.41289C69.5422 4.10194 63.2754 1.94025 56.7698 1.05124C51.7666 0.367541 46.6976 0.446843 41.7345 1.27873C39.2613 1.69328 37.813 4.19778 38.4501 6.62326C39.0873 9.04874 41.5694 10.4717 44.0505 10.1071C47.8511 9.54855 51.7191 9.52689 55.5402 10.0491C60.8642 10.7766 65.9928 12.5457 70.6331 15.2552C75.2735 17.9648 79.3347 21.5619 82.5849 25.841C84.9175 28.9121 86.7997 32.2913 88.1811 35.8758C89.083 38.2158 91.5421 39.6781 93.9676 39.0409Z",fill:"currentFill"})]),c("span",{class:"sr-only"},"Loading...")],-1),Tnt={class:"relative flex flex-row flex-grow items-center w-full h-full bottom-0"},xnt={class:"w-full bg-bg-light-tone-panel dark:bg-bg-dark-tone-panel rounded-lg p-2"},Cnt={class:"flex justify-between mb-1"},wnt=c("span",{class:"text-base font-medium text-blue-700 dark:text-white"},"Downloading",-1),Rnt={class:"text-sm font-medium text-blue-700 dark:text-white"},Ant={class:"w-full bg-gray-200 rounded-full h-2.5 dark:bg-gray-700"},Nnt={class:"flex justify-between mb-1"},Ont={class:"text-base font-medium text-blue-700 dark:text-white"},Int={class:"text-sm font-medium text-blue-700 dark:text-white"},Mnt={class:"flex flex-grow"},Dnt={class:"flex flex-row flex-grow gap-3"},knt={class:"p-2 text-center grow"},Lnt={key:3},Pnt={class:"flex flex-row items-center gap-3"},Unt=["src"],Fnt={class:"font-bold font-large text-lg truncate"},Bnt=c("div",{class:"grow"},null,-1),Gnt={class:"flex items-center flex-row-reverse gap-2 my-1"},Vnt={class:"flex flex-row items-center"},znt={key:0,class:"text-base text-red-600 flex items-center mt-1"},Hnt=c("i",{"data-feather":"alert-triangle",class:"flex-shrink-0 mx-1"},null,-1),qnt=["title"],Ynt={class:""},$nt={class:"flex flex-row items-center"},Wnt=c("i",{"data-feather":"download",class:"w-5 m-1 flex-shrink-0"},null,-1),Knt=c("b",null,"Card: ",-1),jnt=["href","title"],Qnt=c("div",{class:"grow"},null,-1),Xnt=c("i",{"data-feather":"clipboard",class:"w-5"},null,-1),Znt=[Xnt],Jnt={class:"flex items-center"},eit=c("i",{"data-feather":"file",class:"w-5 m-1"},null,-1),tit=c("b",null,"File size: ",-1),nit={class:"flex items-center"},iit=c("i",{"data-feather":"key",class:"w-5 m-1"},null,-1),sit=c("b",null,"License: ",-1),rit={key:0,class:"flex items-center"},oit=c("i",{"data-feather":"user",class:"w-5 m-1"},null,-1),ait=c("b",null,"quantizer: ",-1),lit=["href"],cit={class:"flex items-center"},dit=c("i",{"data-feather":"user",class:"w-5 m-1"},null,-1),uit=c("b",null,"Model creator: ",-1),pit=["href"],_it={class:"flex items-center"},hit=c("i",{"data-feather":"clock",class:"w-5 m-1"},null,-1),fit=c("b",null,"Release date: ",-1),mit={class:"flex items-center"},git=c("i",{"data-feather":"grid",class:"w-5 m-1"},null,-1),bit=c("b",null,"Category: ",-1),Eit=["href"];function yit(n,e,t,i,s,r){const o=mt("InteractiveMenu");return w(),A("div",{class:ze(["relative items-start p-4 hover:bg-primary-light rounded-lg mb-2 shadow-lg border-2 select-none",r.computed_classes]),title:t.model.name,onClick:e[10]||(e[10]=ge(a=>r.toggleSelected(a),["prevent"]))},[t.model.isCustomModel?(w(),A("div",ant,[c("div",lnt,[c("div",cnt,[c("a",{href:t.model.model_creator_link,target:"_blank"},[c("img",{src:r.getImgUrl(),onError:e[0]||(e[0]=a=>r.defaultImg(a)),class:"w-10 h-10 rounded-lg object-fill"},null,40,unt)],8,dnt),c("div",pnt,[c("h3",_nt,he(t.model.name),1)])])])])):V("",!0),t.model.isCustomModel?(w(),A("div",hnt,[c("div",fnt,[c("button",{type:"button",title:"Custom model / local model",class:"font-medium rounded-lg text-sm p-2 text-center inline-flex items-center",onClick:e[1]||(e[1]=ge(()=>{},["stop"]))},bnt),et(" Custom model ")]),c("div",null,[t.model.isInstalled?(w(),A("button",{key:0,title:"Delete file from disk",type:"button",onClick:e[2]||(e[2]=ge((...a)=>r.uninstall&&r.uninstall(...a),["stop"])),class:"inline-flex items-center gap-2 px-3 py-2 text-xs font-medium text-center focus:outline-none text-white bg-red-700 hover:bg-red-800 focus:ring-4 focus:ring-red-300 rounded-lg dark:bg-red-600 dark:hover:bg-red-700 dark:focus:ring-red-900"},[et(" Uninstall "),Ent])):V("",!0)])])):V("",!0),s.installing?(w(),A("div",ynt,[c("div",vnt,[Snt,c("div",Tnt,[c("div",xnt,[c("div",Cnt,[wnt,c("span",Rnt,he(Math.floor(s.progress))+"%",1)]),c("div",Ant,[c("div",{class:"bg-blue-600 h-2.5 rounded-full",style:en({width:s.progress+"%"})},null,4)]),c("div",Nnt,[c("span",Ont,"Download speed: "+he(r.speed_computed)+"/s",1),c("span",Int,he(r.downloaded_size_computed)+"/"+he(r.total_size_computed),1)])])]),c("div",Mnt,[c("div",Dnt,[c("div",knt,[c("button",{onClick:e[3]||(e[3]=ge((...a)=>r.toggleCancelInstall&&r.toggleCancelInstall(...a),["stop"])),type:"button",title:"Cancel download",class:"text-gray-500 bg-white hover:bg-gray-100 focus:ring-4 focus:outline-none focus:ring-gray-200 rounded-lg border border-gray-200 text-sm font-medium px-5 py-2.5 hover:text-gray-900 focus:z-10 dark:bg-gray-700 dark:text-gray-300 dark:border-gray-500 dark:hover:text-white dark:hover:bg-gray-600 dark:focus:ring-gray-600"}," Cancel ")])])])])])):V("",!0),t.model.isCustomModel?V("",!0):(w(),A("div",Lnt,[c("div",Pnt,[c("img",{ref:"imgElement",src:r.getImgUrl(),onError:e[4]||(e[4]=a=>r.defaultImg(a)),class:ze(["w-10 h-10 rounded-lg object-fill",s.linkNotValid?"grayscale":""])},null,42,Unt),c("h3",Fnt,he(t.model.name),1),Bnt,Te(o,{commands:r.commandsList,force_position:2,title:"Menu"},null,8,["commands"])]),c("div",Gnt,[c("div",Vnt,[s.linkNotValid?(w(),A("div",znt,[Hnt,et(" Link is not valid ")])):V("",!0)])]),c("div",{class:"",title:t.model.isInstalled?t.model.name:"Not installed"},[c("div",Ynt,[c("div",$nt,[Wnt,Knt,c("a",{href:"https://huggingface.co/"+t.model.quantizer+"/"+t.model.name,target:"_blank",onClick:e[5]||(e[5]=ge(()=>{},["stop"])),class:"m-1 flex items-center hover:text-secondary duration-75 active:scale-90 truncate",title:s.linkNotValid?"Link is not valid":"Download this manually (faster) and put it in the models/ folder then refresh"}," View full model card ",8,jnt),Qnt,c("button",{class:"hover:text-secondary duration-75 active:scale-90 font-medium rounded-lg text-sm p-2 text-center inline-flex items-center",title:"Copy link to clipboard",onClick:e[6]||(e[6]=ge(a=>r.toggleCopyLink(),["stop"]))},Znt)]),c("div",Jnt,[c("div",{class:ze(["flex flex-shrink-0 items-center",s.linkNotValid?"text-red-600":""])},[eit,tit,et(" "+he(r.fileSize),1)],2)]),c("div",nit,[iit,sit,et(" "+he(t.model.license),1)]),t.model.quantizer!="None"&&t.model.type!="transformers"?(w(),A("div",rit,[oit,ait,c("a",{href:"https://huggingface.co/"+t.model.quantizer,target:"_blank",rel:"noopener noreferrer",onClick:e[7]||(e[7]=ge(()=>{},["stop"])),class:"flex hover:text-secondary duration-75 active:scale-90",title:"quantizer's profile"},he(t.model.quantizer),9,lit)])):V("",!0),c("div",cit,[dit,uit,c("a",{href:t.model.model_creator_link,target:"_blank",rel:"noopener noreferrer",onClick:e[8]||(e[8]=ge(()=>{},["stop"])),class:"flex hover:text-secondary duration-75 active:scale-90",title:"quantizer's profile"},he(t.model.model_creator),9,pit)]),c("div",_it,[hit,fit,et(" "+he(t.model.last_commit_time),1)]),c("div",mit,[git,bit,c("a",{href:"https://huggingface.co/"+t.model.model_creator,target:"_blank",rel:"noopener noreferrer",onClick:e[9]||(e[9]=ge(()=>{},["stop"])),class:"flex hover:text-secondary duration-75 active:scale-90",title:"quantizer's profile"},he(t.model.category),9,Eit)])])],8,qnt)]))],10,ont)}const vit=bt(rnt,[["render",yit]]),Sit={data(){return{editMode:!1,avatar:"path/to/avatar.jpg",personalityName:"Personality Name",personalityAuthor:"Author Name",personalityDescription:"Personality Description",personalityCategory:"Category",disclaimer:"Disclaimer text",conditioningText:"Conditioning Text",aiPrefix:"AI Prefix",userPrefix:"User Prefix",antipromptsList:[{id:1,text:"Antiprompt 1"},{id:2,text:"Antiprompt 2"},{id:3,text:"Antiprompt 3"}]}},methods:{commitChanges(){console.log("Personality changes committed"),this.editMode=!1}}},Tit={class:"p-4"},xit={class:"flex items-center mb-4"},Cit=["src"],wit={class:"text-lg font-semibold"},Rit=c("strong",null,"Author:",-1),Ait=c("strong",null,"Description:",-1),Nit=c("strong",null,"Category:",-1),Oit={key:0},Iit=c("strong",null,"Disclaimer:",-1),Mit=c("strong",null,"Conditioning Text:",-1),Dit=c("strong",null,"AI Prefix:",-1),kit=c("strong",null,"User Prefix:",-1),Lit=c("strong",null,"Antiprompts:",-1);function Pit(n,e,t,i,s,r){return w(),A("div",Tit,[c("div",xit,[c("img",{src:s.avatar,class:"w-12 h-12 rounded-full mr-2",alt:"Avatar"},null,8,Cit),c("h2",wit,he(s.personalityName),1)]),c("p",null,[Rit,et(" "+he(s.personalityAuthor),1)]),c("p",null,[Ait,et(" "+he(s.personalityDescription),1)]),c("p",null,[Nit,et(" "+he(s.personalityCategory),1)]),s.disclaimer?(w(),A("p",Oit,[Iit,et(" "+he(s.disclaimer),1)])):V("",!0),c("p",null,[Mit,et(" "+he(s.conditioningText),1)]),c("p",null,[Dit,et(" "+he(s.aiPrefix),1)]),c("p",null,[kit,et(" "+he(s.userPrefix),1)]),c("div",null,[Lit,c("ul",null,[(w(!0),A($e,null,lt(s.antipromptsList,o=>(w(),A("li",{key:o.id},he(o.text),1))),128))])]),c("button",{onClick:e[0]||(e[0]=o=>s.editMode=!0),class:"mt-4 bg-blue-500 text-white px-4 py-2 rounded"}," Edit "),s.editMode?(w(),A("button",{key:1,onClick:e[1]||(e[1]=(...o)=>r.commitChanges&&r.commitChanges(...o)),class:"mt-4 bg-green-500 text-white px-4 py-2 rounded"}," Commit ")):V("",!0)])}const Uit=bt(Sit,[["render",Pit]]),ap="/assets/logo-9d653710.svg",Fit="/",Bit={props:{personality:{},select_language:Boolean,selected:Boolean,full_path:String,onTalk:Function,onOpenFolder:Function,onSelected:Function,onMount:Function,onUnMount:Function,onRemount:Function,onCopyToCustom:Function,onEdit:Function,onReinstall:Function,onSettings:Function,onCopyPersonalityName:Function},components:{InteractiveMenu:CE},data(){return{isMounted:!1,name:this.personality.name,thumbnailVisible:!1,thumbnailPosition:{x:0,y:0}}},computed:{commandsList(){let n=[{name:this.isMounted?"unmount":"mount",icon:"feather:settings",is_file:!1,value:this.isMounted?this.unmount:this.mount},{name:"reinstall",icon:"feather:terminal",is_file:!1,value:this.toggleReinstall}];return console.log("this.category",this.personality.category),this.personality.category=="custom_personalities"?n.push({name:"edit",icon:"feather:settings",is_file:!1,value:this.edit}):n.push({name:"Copy to custom personas folder for editing",icon:"feather:copy",is_file:!1,value:this.copyToCustom}),this.isMounted&&n.push({name:"remount",icon:"feather:refresh-ccw",is_file:!1,value:this.reMount}),this.selected&&this.personality.has_scripts&&n.push({name:"settings",icon:"feather:settings",is_file:!1,value:this.toggleSettings}),n},selected_computed(){return this.selected}},mounted(){this.isMounted=this.personality.isMounted,Ge(()=>{He.replace()})},methods:{showThumbnail(){this.thumbnailVisible=!0},hideThumbnail(){this.thumbnailVisible=!1},updateThumbnailPosition(n){this.thumbnailPosition={x:n.clientX+10,y:n.clientY+10}},getImgUrl(){return Fit+this.personality.avatar},defaultImg(n){n.target.src=ap},showFolder(){this.onOpenFolder(this)},toggleTalk(){this.onTalk(this)},toggleCopyLink(){this.onCopyPersonalityName(this)},toggleSelected(){this.isMounted&&this.onSelected(this)},edit(){this.onEdit(this)},copyToCustom(){this.onCopyToCustom(this)},reMount(){this.onRemount(this)},mount(){console.log("Mounting"),this.onMount(this)},unmount(){console.log("Unmounting"),console.log(this.onUnMount),this.onUnMount(this),this.isMounted=!1},toggleSettings(){this.onSettings(this)},toggleReinstall(){this.onReinstall(this)}},watch:{selected(){Ge(()=>{He.replace()})}}},Git=["title"],Vit={class:"flex flex-row items-center flex-shrink-0 gap-3"},zit=["src"],Hit=c("i",{"data-feather":"clipboard",class:"w-5"},null,-1),qit=[Hit],Yit=["src"],$it={class:""},Wit={class:""},Kit={class:"flex items-center"},jit=c("i",{"data-feather":"user",class:"w-5 m-1"},null,-1),Qit=c("b",null,"Author: ",-1),Xit={class:"flex items-center"},Zit=c("i",{"data-feather":"git-commit",class:"w-5 m-1"},null,-1),Jit=c("b",null,"Version: ",-1),est={key:0,class:"flex items-center"},tst=c("i",{"data-feather":"globe",class:"w-5 m-1"},null,-1),nst=c("b",null,"Languages: ",-1),ist=["selected"],sst={key:1,class:"flex items-center"},rst=c("i",{"data-feather":"globe",class:"w-5 m-1"},null,-1),ost=c("b",null,"Language: ",-1),ast={class:"flex items-center"},lst=c("i",{"data-feather":"bookmark",class:"w-5 m-1"},null,-1),cst=c("b",null,"Category: ",-1),dst=c("div",{class:"flex items-center"},[c("i",{"data-feather":"info",class:"w-5 m-1"}),c("b",null,"Description: "),c("br")],-1),ust=["title","innerHTML"],pst={class:"rounded bg-blue-300"},_st=c("i",{"data-feather":"check"},null,-1),hst=c("span",{class:"sr-only"},"Select",-1),fst=[_st,hst],mst=c("i",{"data-feather":"send",class:"w-5"},null,-1),gst=c("span",{class:"sr-only"},"Talk",-1),bst=[mst,gst],Est=c("i",{"data-feather":"folder",class:"w-5"},null,-1),yst=c("span",{class:"sr-only"},"Show Folder",-1),vst=[Est,yst];function Sst(n,e,t,i,s,r){const o=mt("InteractiveMenu");return w(),A("div",{class:ze(["min-w-96 items-start p-4 hover:bg-primary-light rounded-lg mb-2 shadow-lg border-2 cursor-pointer select-none",r.selected_computed?"border-2 border-primary-light":"border-transparent",s.isMounted?"bg-blue-200 dark:bg-blue-700":""]),tabindex:"-1",title:t.personality.installed?"":"Not installed"},[c("div",{class:ze(t.personality.installed?"":"border-red-500")},[c("div",Vit,[c("img",{onClick:e[0]||(e[0]=(...a)=>r.toggleSelected&&r.toggleSelected(...a)),ref:"imgElement",src:r.getImgUrl(),onError:e[1]||(e[1]=a=>r.defaultImg(a)),class:"w-10 h-10 rounded-full object-fill text-red-700 cursor-pointer",onMouseover:e[2]||(e[2]=(...a)=>r.showThumbnail&&r.showThumbnail(...a)),onMousemove:e[3]||(e[3]=(...a)=>r.updateThumbnailPosition&&r.updateThumbnailPosition(...a)),onMouseleave:e[4]||(e[4]=(...a)=>r.hideThumbnail&&r.hideThumbnail(...a))},null,40,zit),c("h3",{onClick:e[5]||(e[5]=(...a)=>r.toggleSelected&&r.toggleSelected(...a)),class:"font-bold font-large text-lg line-clamp-3 cursor-pointer",onMouseover:e[6]||(e[6]=(...a)=>r.showThumbnail&&r.showThumbnail(...a)),onMousemove:e[7]||(e[7]=(...a)=>r.updateThumbnailPosition&&r.updateThumbnailPosition(...a)),onMouseleave:e[8]||(e[8]=(...a)=>r.hideThumbnail&&r.hideThumbnail(...a))},he(t.personality.name),33),c("button",{class:"hover:text-secondary duration-75 active:scale-90 font-medium rounded-lg text-sm p-2 text-center inline-flex items-center",title:"Copy link to clipboard",onClick:e[9]||(e[9]=ge(a=>r.toggleCopyLink(),["stop"]))},qit),s.thumbnailVisible?(w(),A("div",{key:0,style:en({top:s.thumbnailPosition.y+"px",left:s.thumbnailPosition.x+"px"}),class:"fixed z-50 w-20 h-20 rounded-full overflow-hidden"},[c("img",{src:r.getImgUrl(),class:"w-full h-full object-fill"},null,8,Yit)],4)):V("",!0)]),c("div",$it,[c("div",Wit,[c("div",Kit,[jit,Qit,et(" "+he(t.personality.author),1)]),c("div",Xit,[Zit,Jit,et(" "+he(t.personality.version),1)]),t.personality.languages&&t.select_language?(w(),A("div",est,[tst,nst,s.isMounted?V("",!0):G((w(),A("select",{key:0,id:"languages","onUpdate:modelValue":e[10]||(e[10]=a=>t.personality.language=a),class:"bg-gray-50 border border-gray-300 text-gray-900 text-sm rounded-lg focus:ring-blue-500 focus:border-blue-500 block w-full p-2.5 dark:bg-gray-700 dark:border-gray-600 dark:placeholder-gray-400 dark:text-white dark:focus:ring-blue-500 dark:focus:border-blue-500"},[(w(!0),A($e,null,lt(t.personality.languages,(a,l)=>(w(),A("option",{key:l,selected:a==t.personality.languages[0]},he(a),9,ist))),128))],512)),[[Wt,t.personality.language]])])):V("",!0),t.personality.language?(w(),A("div",sst,[rst,ost,et(" "+he(t.personality.language),1)])):V("",!0),c("div",ast,[lst,cst,et(" "+he(t.personality.category),1)])]),dst,c("p",{class:"mx-1 opacity-80 h-20 overflow-y-auto scrollbar-thin scrollbar-track-bg-light-tone scrollbar-thumb-bg-light-tone-panel hover:scrollbar-thumb-primary dark:scrollbar-track-bg-dark-tone dark:scrollbar-thumb-bg-dark-tone-panel dark:hover:scrollbar-thumb-primary active:scrollbar-thumb-secondary",title:t.personality.description,innerHTML:t.personality.description},null,8,ust)]),c("div",pst,[s.isMounted?(w(),A("button",{key:0,type:"button",title:"Select",onClick:[e[11]||(e[11]=(...a)=>r.toggleSelected&&r.toggleSelected(...a)),e[12]||(e[12]=ge(()=>{},["stop"]))],class:"hover:text-secondary duration-75 active:scale-90 font-medium rounded-lg text-sm p-2 text-center inline-flex items-center"},fst)):V("",!0),s.isMounted?(w(),A("button",{key:1,type:"button",title:"Talk",onClick:[e[13]||(e[13]=(...a)=>r.toggleTalk&&r.toggleTalk(...a)),e[14]||(e[14]=ge(()=>{},["stop"]))],class:"hover:text-secondary duration-75 active:scale-90 font-medium rounded-lg text-sm p-2 text-center inline-flex items-center"},bst)):V("",!0),c("button",{type:"button",title:"Show_folder",onClick:[e[15]||(e[15]=(...a)=>r.showFolder&&r.showFolder(...a)),e[16]||(e[16]=ge(()=>{},["stop"]))],class:"hover:text-secondary duration-75 active:scale-90 font-medium rounded-lg text-sm p-2 text-center inline-flex items-center"},vst),Te(o,{commands:r.commandsList,force_position:2,title:"Menu"},null,8,["commands"])])],2)],10,Git)}const hO=bt(Bit,[["render",Sst]]);const Tst={props:{ui:{type:String,required:!0,default:""}},watch:{ui(n,e){console.log(`ui changed from ${e} to ${n}`),this.$nextTick(()=>{this.evaluateScriptTags()})}},data(){return{}},mounted(){this.$nextTick(()=>{this.evaluateScriptTags()})},methods:{evaluateScriptTags(){console.log("evaluateScriptTags");const n=document.createElement("div");n.innerHTML=this.ui,n.querySelectorAll("script").forEach(t=>{const i=document.createElement("script");i.textContent=t.textContent,document.body.appendChild(i),document.body.removeChild(i)}),this.$refs.ui.innerHTML=n.innerHTML,console.log("this.$refs.ui.innerHTML"),console.log(this.$refs.ui.innerHTML)}}},xst={class:"w-full h-auto overflow-y-auto scrollbar-thin scrollbar-track-bg-light-tone scrollbar-thumb-bg-light-tone-panel hover:scrollbar-thumb-primary dark:scrollbar-track-bg-dark-tone dark:scrollbar-thumb-bg-dark-tone-panel dark:hover:scrollbar-thumb-primary active:scrollbar-thumb-secondary",ref:"ui"};function Cst(n,e,t,i,s,r){return w(),A("div",xst,null,512)}const fO=bt(Tst,[["render",Cst]]),wst="/",Rst={components:{DynamicUIRenderer:fO},props:{binding:{},onSelected:Function,onReinstall:Function,onInstall:Function,onUnInstall:Function,onSettings:Function,onReloadBinding:Function,selected:Boolean},data(){return{isTemplate:!1}},mounted(){Ge(()=>{He.replace()})},methods:{copyToClipBoard(n){console.log("Copying to clipboard :",n),navigator.clipboard.writeText(n)},getImgUrl(){return wst+this.binding.icon},defaultImg(n){n.target.src=ap},toggleSelected(){this.onSelected(this)},toggleInstall(){this.onInstall(this)},toggleUnInstall(){this.onUnInstall(this)},toggleReinstall(){this.onReinstall(this)},toggleReloadBinding(){this.onReloadBinding(this)},toggleSettings(){this.onSettings(this)},getStatus(){(this.binding.folder==="backend_template"||this.binding.folder==="binding_template")&&(this.isTemplate=!0)}},watch:{selected(){Ge(()=>{He.replace()})}}},Ast=["title"],Nst={class:"flex flex-row items-center gap-3"},Ost=["src"],Ist={class:"font-bold font-large text-lg truncate"},Mst=c("div",{class:"grow"},null,-1),Dst={class:"flex-none gap-1"},kst=c("i",{"data-feather":"refresh-cw",class:"w-5"},null,-1),Lst=c("span",{class:"sr-only"},"Help",-1),Pst=[kst,Lst],Ust={class:"flex items-center flex-row-reverse gap-2 my-1"},Fst=c("span",{class:"sr-only"},"Click to install",-1),Bst=c("span",{class:"sr-only"},"Reinstall",-1),Gst=c("span",{class:"sr-only"},"UnInstall",-1),Vst=c("span",{class:"sr-only"},"Settings",-1),zst={class:""},Hst={class:""},qst={class:"flex items-center"},Yst=c("i",{"data-feather":"user",class:"w-5 m-1"},null,-1),$st=c("b",null,"Author: ",-1),Wst={class:"flex items-center"},Kst=c("i",{"data-feather":"folder",class:"w-5 m-1"},null,-1),jst=c("b",null,"Folder: ",-1),Qst=c("div",{class:"grow"},null,-1),Xst=c("i",{"data-feather":"clipboard",class:"w-5"},null,-1),Zst=[Xst],Jst={class:"flex items-center"},ert=c("i",{"data-feather":"git-merge",class:"w-5 m-1"},null,-1),trt=c("b",null,"Version: ",-1),nrt={class:"flex items-center"},irt=c("i",{"data-feather":"github",class:"w-5 m-1"},null,-1),srt=c("b",null,"Link: ",-1),rrt=["href"],ort=c("div",{class:"flex items-center"},[c("i",{"data-feather":"info",class:"w-5 m-1"}),c("b",null,"Description: "),c("br")],-1),art=["title","innerHTML"];function lrt(n,e,t,i,s,r){const o=mt("DynamicUIRenderer");return w(),A("div",{class:ze(["items-start p-4 hover:bg-primary-light hover:border-primary-light rounded-lg mb-2 shadow-lg border-2 cursor-pointer select-none",t.selected?" border-primary bg-primary":"border-transparent"]),onClick:e[8]||(e[8]=ge((...a)=>r.toggleSelected&&r.toggleSelected(...a),["stop"])),title:t.binding.installed?t.binding.name:"Not installed"},[c("div",null,[c("div",Nst,[c("img",{ref:"imgElement",src:r.getImgUrl(),onError:e[0]||(e[0]=a=>r.defaultImg(a)),class:"w-10 h-10 rounded-full object-fill text-blue-700"},null,40,Ost),c("h3",Ist,he(t.binding.name),1),Mst,c("div",Dst,[t.selected?(w(),A("button",{key:0,type:"button",title:"Reload binding",onClick:[e[1]||(e[1]=(...a)=>r.toggleReloadBinding&&r.toggleReloadBinding(...a)),e[2]||(e[2]=ge(()=>{},["stop"]))],class:"hover:text-secondary duration-75 active:scale-90 font-medium rounded-lg text-sm p-2 text-center inline-flex items-center"},Pst)):V("",!0)])]),c("div",Ust,[t.binding.installed?V("",!0):(w(),A("button",{key:0,title:"Click to install",type:"button",onClick:e[3]||(e[3]=ge((...a)=>r.toggleInstall&&r.toggleInstall(...a),["stop"])),class:"inline-flex items-center gap-2 px-3 py-2 text-xs font-medium text-center text-white bg-blue-700 rounded-lg hover:bg-blue-800 focus:ring-4 focus:outline-none focus:ring-blue-300 dark:bg-blue-600 dark:hover:bg-blue-700 dark:focus:ring-blue-800"},[et(" Install "),Fst])),t.binding.installed?(w(),A("button",{key:1,title:"Click to Reinstall binding",type:"button",onClick:e[4]||(e[4]=ge((...a)=>r.toggleReinstall&&r.toggleReinstall(...a),["stop"])),class:"inline-flex items-center gap-2 px-3 py-2 text-xs font-medium text-center focus:outline-none text-white bg-green-700 hover:bg-red-800 focus:ring-4 focus:ring-green-300 rounded-lg dark:bg-green-600 dark:hover:bg-green-700 dark:focus:ring-red-900"},[et(" Reinstall "),Bst])):V("",!0),t.binding.installed?(w(),A("button",{key:2,title:"Click to Reinstall binding",type:"button",onClick:e[5]||(e[5]=ge((...a)=>r.toggleUnInstall&&r.toggleUnInstall(...a),["stop"])),class:"inline-flex items-center gap-2 px-3 py-2 text-xs font-medium text-center focus:outline-none text-white bg-red-700 hover:bg-red-800 focus:ring-4 focus:ring-red-300 rounded-lg dark:bg-red-600 dark:hover:bg-red-700 dark:focus:ring-red-900"},[et(" Uninstall "),Gst])):V("",!0),t.selected?(w(),A("button",{key:3,title:"Click to open Settings",type:"button",onClick:e[6]||(e[6]=ge((...a)=>r.toggleSettings&&r.toggleSettings(...a),["stop"])),class:"inline-flex items-center gap-2 px-3 py-2 text-xs font-medium text-center text-white bg-blue-700 rounded-lg hover:bg-blue-800 focus:ring-4 focus:outline-none focus:ring-blue-300 dark:bg-blue-600 dark:hover:bg-blue-700 dark:focus:ring-blue-800"},[et(" Settings "),Vst])):V("",!0)]),t.binding.ui?(w(),xt(o,{key:0,class:"w-full h-full",code:t.binding.ui},null,8,["code"])):V("",!0),c("div",zst,[c("div",Hst,[c("div",qst,[Yst,$st,et(" "+he(t.binding.author),1)]),c("div",Wst,[Kst,jst,et(" "+he(t.binding.folder)+" ",1),Qst,c("button",{class:"hover:text-secondary duration-75 active:scale-90 font-medium rounded-lg text-sm p-2 text-center inline-flex items-center",title:"Copy link to clipboard",onClick:e[7]||(e[7]=ge(a=>r.copyToClipBoard(this.binding.folder),["stop"]))},Zst)]),c("div",Jst,[ert,trt,et(" "+he(t.binding.version),1)]),c("div",nrt,[irt,srt,c("a",{href:t.binding.link,target:"_blank",class:"flex items-center hover:text-secondary duration-75 active:scale-90"},he(t.binding.link),9,rrt)])]),ort,c("p",{class:"mx-1 opacity-80 line-clamp-3",title:t.binding.description,innerHTML:t.binding.description},null,8,art)])])],10,Ast)}const crt=bt(Rst,[["render",lrt]]),drt={data(){return{show:!1,model_path:"",resolve:null}},methods:{cancel(){this.resolve(null)},openInputBox(){return new Promise(n=>{this.resolve=n})},hide(n){this.show=!1,this.resolve&&(this.resolve(n),this.resolve=null)},showDialog(n){return new Promise(e=>{this.model_path=n,this.show=!0,this.resolve=e})}}},urt={key:0,class:"fixed top-0 left-0 right-0 bottom-0 flex items-center justify-center bg-black bg-opacity-50"},prt={class:"relative w-full max-w-md max-h-full"},_rt={class:"relative bg-white rounded-lg shadow dark:bg-gray-700"},hrt=c("svg",{"aria-hidden":"true",class:"w-5 h-5",fill:"currentColor",viewBox:"0 0 20 20",xmlns:"http://www.w3.org/2000/svg"},[c("path",{"fill-rule":"evenodd",d:"M4.293 4.293a1 1 0 011.414 0L10 8.586l4.293-4.293a1 1 0 111.414 1.414L11.414 10l4.293 4.293a1 1 0 01-1.414 1.414L10 11.414l-4.293 4.293a1 1 0 01-1.414-1.414L8.586 10 4.293 5.707a1 1 0 010-1.414z","clip-rule":"evenodd"})],-1),frt=c("span",{class:"sr-only"},"Close modal",-1),mrt=[hrt,frt],grt={class:"p-4 text-center"},brt=c("svg",{"aria-hidden":"true",class:"mx-auto mb-4 text-gray-400 w-14 h-14 dark:text-gray-200",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24",xmlns:"http://www.w3.org/2000/svg"},[c("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M12 8v4m0 4h.01M21 12a9 9 0 11-18 0 9 9 0 0118 0z"})],-1),Ert={class:"p-4 text-center mx-auto mb-4"},yrt=c("label",{class:"mr-2"},"Model path",-1);function vrt(n,e,t,i,s,r){return s.show?(w(),A("div",urt,[c("div",prt,[c("div",_rt,[c("button",{type:"button",onClick:e[0]||(e[0]=o=>r.hide(!1)),class:"absolute top-3 right-2.5 text-gray-400 bg-transparent hover:bg-gray-200 hover:text-gray-900 rounded-lg text-sm p-1.5 ml-auto inline-flex items-center dark:hover:bg-gray-800 dark:hover:text-white"},mrt),c("div",grt,[brt,c("div",Ert,[yrt,G(c("input",{"onUpdate:modelValue":e[1]||(e[1]=o=>s.model_path=o),class:"px-4 py-2 border border-gray-300 rounded-lg",type:"text"},null,512),[[xe,s.model_path]])]),c("button",{onClick:e[2]||(e[2]=o=>r.hide(!0)),type:"button",class:"text-white bg-green-600 hover:bg-green-800 focus:ring-4 focus:outline-none focus:ring-red-300 dark:focus:ring-red-800 font-medium rounded-lg text-sm inline-flex items-center px-5 py-2.5 text-center mr-2"}," Add "),c("button",{onClick:e[3]||(e[3]=o=>r.hide(!1)),type:"button",class:"text-gray-500 bg-white hover:bg-gray-100 focus:ring-4 focus:outline-none focus:ring-gray-200 rounded-lg border border-gray-200 text-sm font-medium px-5 py-2.5 hover:text-gray-900 focus:z-10 dark:bg-gray-700 dark:text-gray-300 dark:border-gray-500 dark:hover:text-white dark:hover:bg-gray-600 dark:focus:ring-gray-600"},"No, cancel")])])])])):V("",!0)}const Srt=bt(drt,[["render",vrt]]);const Trt={props:{show:{type:Boolean,default:!1,required:!1},can_remove:{type:Boolean,default:!1},title:{type:String,default:"Select an option"},choices:{type:Array,required:!0}},data(){return{selectedChoice:null,showInput:!1,newFilename:""}},methods:{displayName(n){return console.log("choice:",n),typeof n=="string"?n:n&&n.name?n.name:""},selectChoice(n){this.selectedChoice=n,this.$emit("choice-selected",n)},closeDialog(){this.$emit("close-dialog")},validateChoice(){this.$emit("choice-validated",this.selectedChoice)},formatSize(n){return n<1024?n+" bytes":n<1024*1024?(n/1024).toFixed(2)+" KB":n<1024*1024*1024?(n/(1024*1024)).toFixed(2)+" MB":(n/(1024*1024*1024)).toFixed(2)+" GB"},toggleInput(){this.showInput=!this.showInput},addNewFilename(){const n=this.newFilename.trim();n!==""&&(this.choices.push(n),this.newFilename="",this.selectChoice(n)),this.showInput=!1},removeChoice(n,e){this.choices.splice(e,1),n===this.selectedChoice&&(this.selectedChoice=null),this.$emit("choice-removed",n)}}},xrt={key:0,class:"fixed inset-0 flex items-center justify-center bg-black bg-opacity-50 z-20"},Crt={class:"bg-bg-light dark:bg-bg-dark rounded-lg p-6 w-96"},wrt={class:"text-xl font-bold text-5xl drop-shadow-md align-middle"},Rrt={class:"h-48 text-light-text-panel dark:text-dark-text-panel bg-bg-light-tone-panel dark:bg-dark-tone-panel overflow-y-auto rounded drop-shadow-md overflow-y-auto scrollbar-thin scrollbar-track-bg-light-tone scrollbar-thumb-bg-light-tone-panel hover:scrollbar-thumb-primary dark:scrollbar-track-bg-dark-tone dark:scrollbar-thumb-bg-dark-tone-panel dark:hover:scrollbar-thumb-primary active:scrollbar-thumb-secondary"},Art=["onClick"],Nrt={class:"font-bold text-dark-text-panel dark:text-light-text-panel"},Ort=c("br",null,null,-1),Irt={key:0,class:"text-xs text-gray-500"},Mrt=["onClick"],Drt={key:0,class:"flex flex-row mt-4 bg-light-tone-panel dark:bg-dark-tone-panel"},krt={class:"flex justify-end mt-4"},Lrt=["disabled"];function Prt(n,e,t,i,s,r){return w(),xt(Vi,{name:"fade"},{default:We(()=>[t.show?(w(),A("div",xrt,[c("div",Crt,[c("h2",wrt,he(t.title),1),c("div",Rrt,[c("ul",null,[(w(!0),A($e,null,lt(t.choices,(o,a)=>(w(),A("li",{key:a,onClick:l=>r.selectChoice(o),class:ze([{"selected-choice":o===s.selectedChoice},"py-2 px-4 cursor-pointer hover:bg-accent dark:hover:bg-secondary"])},[c("span",Nrt,he(r.displayName(o)),1),Ort,o.size?(w(),A("span",Irt,he(r.formatSize(o.size)),1)):V("",!0),t.can_remove?(w(),A("button",{key:1,onClick:ge(l=>r.removeChoice(o,a),["stop"]),class:"ml-2 text-red-500 hover:text-red-600"}," X ",8,Mrt)):V("",!0)],10,Art))),128))])]),s.showInput?(w(),A("div",Drt,[G(c("input",{"onUpdate:modelValue":e[0]||(e[0]=o=>s.newFilename=o),placeholder:"Enter a filename",class:"border border-gray-300 p-2 rounded-lg w-full"},null,512),[[xe,s.newFilename]]),c("button",{onClick:e[1]||(e[1]=(...o)=>r.addNewFilename&&r.addNewFilename(...o)),class:"ml-2 grow pl-2 pr-2 bg-primary hover:bg-primary-light text-white rounded-lg transition duration-300"}," Add ")])):V("",!0),c("div",krt,[c("button",{onClick:e[2]||(e[2]=(...o)=>r.closeDialog&&r.closeDialog(...o)),class:"py-2 px-4 mr-2 bg-secondary hover:bg-accent text-white rounded-lg transition duration-300"}," Cancel "),c("button",{onClick:e[3]||(e[3]=(...o)=>r.validateChoice&&r.validateChoice(...o)),class:ze([{"bg-gray-400 cursor-not-allowed":!s.selectedChoice,"bg-primary hover:bg-primary-light":s.selectedChoice,"text-white":s.selectedChoice,"text-gray-500":!s.selectedChoice},"py-2 px-4 rounded-lg transition duration-300"]),disabled:!s.selectedChoice}," Validate ",10,Lrt),c("button",{onClick:e[4]||(e[4]=(...o)=>r.toggleInput&&r.toggleInput(...o)),class:"py-2 px-4 ml-2 bg-accent hover:bg-secondary text-white rounded-lg transition duration-300"}," Add New ")])])])):V("",!0)]),_:1})}const wE=bt(Trt,[["render",Prt]]),Urt={props:{radioOptions:{type:Array,required:!0},defaultValue:{type:String,default:"0"}},data(){return{selectedValue:this.defaultValue}},computed:{selectedLabel(){const n=this.radioOptions.find(e=>e.value===this.selectedValue);return n?n.label:""}},watch:{selectedValue(n,e){this.$emit("radio-selected",n)}},methods:{handleRadioChange(){}}},Frt={class:"flex space-x-4"},Brt=["value","aria-checked"],Grt={class:"text-gray-700"};function Vrt(n,e,t,i,s,r){return w(),A("div",Frt,[(w(!0),A($e,null,lt(t.radioOptions,(o,a)=>(w(),A("label",{key:o.value,class:"flex items-center space-x-2"},[G(c("input",{type:"radio",value:o.value,"onUpdate:modelValue":e[0]||(e[0]=l=>s.selectedValue=l),onChange:e[1]||(e[1]=(...l)=>r.handleRadioChange&&r.handleRadioChange(...l)),class:"text-blue-500 focus:ring-2 focus:ring-blue-200","aria-checked":s.selectedValue===o.value.toString(),role:"radio"},null,40,Brt),[[HD,s.selectedValue]]),c("span",Grt,he(o.label),1)]))),128))])}const zrt=bt(Urt,[["render",Vrt]]),Hrt="/assets/gpu-df72bf63.svg";const qrt="/";Se.defaults.baseURL="/";const Yrt={components:{AddModelDialog:Srt,ModelEntry:vit,PersonalityViewer:Uit,PersonalityEntry:hO,BindingEntry:crt,ChoiceDialog:wE,Card:op,RadioOptions:zrt},data(){return{posts_headers:{accept:"application/json","Content-Type":"application/json"},defaultModelImgPlaceholder:Li,snd_input_devices:[],snd_input_devices_indexes:[],snd_output_devices:[],snd_output_devices_indexes:[],voices:[],voice_languages:{Arabic:"ar","Brazilian Portuguese":"pt",Chinese:"zh-cn",Czech:"cs",Dutch:"nl",English:"en",French:"fr",German:"de",Italian:"it",Polish:"pl",Russian:"ru",Spanish:"es",Turkish:"tr",Japanese:"ja",Korean:"ko",Hungarian:"hu",Hindi:"hi"},storeLogo:Ti,binding_changed:!1,SVGGPU:Hrt,models_zoo:[],models_zoo_initialLoadCount:10,models_zoo_loadMoreCount:5,models_zoo_loadedEntries:[],models_zoo_scrollThreshold:200,sortOptions:[{label:"Sort by Date",value:0},{label:"Sort by Rank",value:1},{label:"Sort by Name",value:2},{label:"Sort by Maker",value:3},{label:"Sort by Quantizer",value:4}],comfyui_models:[],show_only_installed_models:!1,reference_path:"",audioVoices:[],has_updates:!1,variant_choices:[],variantSelectionDialogVisible:!1,currenModelToInstall:null,loading_text:"",personality_category:null,addModelDialogVisibility:!1,modelPath:"",personalitiesFiltered:[],modelsFiltered:[],collapsedArr:[],all_collapsed:!0,data_conf_collapsed:!0,internet_conf_collapsed:!0,servers_conf_collapsed:!0,minconf_collapsed:!0,bec_collapsed:!0,sort_type:0,is_loading_zoo:!1,mzc_collapsed:!0,mzdc_collapsed:!0,pzc_collapsed:!0,bzc_collapsed:!0,pc_collapsed:!0,mc_collapsed:!0,sc_collapsed:!0,mzl_collapsed:!1,pzl_collapsed:!1,ezl_collapsed:!1,bzl_collapsed:!1,extCatgArr:[],persCatgArr:[],persArr:[],showConfirmation:!1,showToast:!1,isLoading:!1,settingsChanged:!1,isModelSelected:!1,isMounted:!1,bUrl:qrt,searchPersonality:"",searchModel:"",searchPersonalityTimer:{},searchPersonalityTimerInterval:1500,searchModelTimerInterval:1500,searchPersonalityInProgress:!1,searchModelInProgress:!1,addModel:{},modelDownlaodInProgress:!1,uploadData:[]}},async created(){Ye.on("loading_text",this.on_loading_text),this.updateHasUpdates()},methods:{addDataSource(){this.$store.state.config.rag_databases.push(""),this.settingsChanged=!0},removeDataSource(n){this.$store.state.config.rag_databases.splice(n,1),this.settingsChanged=!0},async vectorize_folder(n){await Se.post("/vectorize_folder",{client_id:this.$store.state.client_id,db_path:this.$store.state.config.rag_databases[n]},this.posts_headers)},async select_folder(n){try{Ye.on("rag_db_added",e=>{console.log(e),e?(this.$store.state.config.rag_databases[n]=`${e.database_name}::${e.database_path}`,this.settingsChanged=!0):this.$store.state.toast.showToast("Failed to select a folder",4,!1)}),await Se.post("/add_rag_database",{client_id:this.$store.state.client_id},this.posts_headers)}catch{this.$store.state.toast.showToast("Failed to select a folder",4,!1)}},handleTemplateSelection(n){console.log("handleTemplateSelection");const e=n.target.value;console.log("handleTemplateSelection: ",e),e==="lollms"?(console.log("Using lollms template"),this.configFile.start_header_id_template="!@>",this.configFile.system_message_template="system",this.configFile.end_header_id_template=": ",this.configFile.separator_template=` + `,36),[[xe,s.text]]),c("span",null,"Cursor position "+he(s.cursorPosition),1)])):V("",!0),s.audio_url!=null?(w(),A("audio",{controls:"",key:s.audio_url},[c("source",{src:s.audio_url,type:"audio/wav",ref:"audio_player"},null,8,Get),et(" Your browser does not support the audio element. ")])):V("",!0),Te(o,{namedTokens:s.namedTokens},null,8,["namedTokens"]),s.tab_id==="render"?(w(),A("div",Vet,[Te(a,{ref:"mdRender",client_id:this.$store.state.client_id,message_id:0,discussion_id:0,"markdown-text":s.text,class:"mt-4 p-2 rounded shadow-lg dark:bg-bg-dark"},null,8,["client_id","markdown-text"])])):V("",!0)],2)]),Te(l,{title:"settings",class:"slider-container ml-0 mr-0",isHorizontal:!1,disableHoverAnimation:!0,disableFocus:!0},{default:We(()=>[Te(l,{title:"Model",class:"slider-container ml-0 mr-0",is_subcard:!0,isHorizontal:!1,disableHoverAnimation:!0,disableFocus:!0},{default:We(()=>[G(c("select",{"onUpdate:modelValue":e[28]||(e[28]=d=>this.$store.state.selectedModel=d),onChange:e[29]||(e[29]=(...d)=>r.setModel&&r.setModel(...d)),class:"bg-white dark:bg-black m-0 border-2 rounded-md shadow-sm w-full"},[(w(!0),A($e,null,lt(r.models,d=>(w(),A("option",{key:d,value:d},he(d),9,zet))),128))],544),[[Wt,this.$store.state.selectedModel]]),s.selecting_model?(w(),A("div",Het,Yet)):V("",!0)]),_:1}),Te(l,{title:"Presets",class:"slider-container ml-0 mr-0",is_subcard:!0,isHorizontal:!1,disableHoverAnimation:!0,disableFocus:!0},{default:We(()=>[G(c("select",{"onUpdate:modelValue":e[30]||(e[30]=d=>s.selectedPreset=d),class:"bg-white dark:bg-black mb-2 border-2 rounded-md shadow-sm w-full"},[(w(!0),A($e,null,lt(s.presets,d=>(w(),A("option",{key:d,value:d},he(d.name),9,$et))),128))],512),[[Wt,s.selectedPreset]]),Wet,c("button",{class:"w-6 ml-2 hover:text-secondary duration-75 active:scale-90 cursor-pointer",onClick:e[31]||(e[31]=(...d)=>r.setPreset&&r.setPreset(...d)),title:"Use preset"},jet),c("button",{class:"w-6 ml-2 hover:text-secondary duration-75 active:scale-90 cursor-pointer",onClick:e[32]||(e[32]=(...d)=>r.addPreset&&r.addPreset(...d)),title:"Add this text as a preset"},Xet),c("button",{class:"w-6 ml-2 hover:text-secondary duration-75 active:scale-90 cursor-pointer",onClick:e[33]||(e[33]=(...d)=>r.removePreset&&r.removePreset(...d)),title:"Remove preset"},Jet),c("button",{class:"w-6 ml-2 hover:text-secondary duration-75 active:scale-90 cursor-pointer",onClick:e[34]||(e[34]=(...d)=>r.reloadPresets&&r.reloadPresets(...d)),title:"Reload presets list"},ttt)]),_:1}),Te(l,{title:"Generation params",class:"slider-container ml-0 mr-0",is_subcard:!0,isHorizontal:!1,disableHoverAnimation:!0,disableFocus:!0},{default:We(()=>[c("div",ntt,[itt,G(c("input",{type:"range","onUpdate:modelValue":e[35]||(e[35]=d=>s.temperature=d),min:"0",max:"5",step:"0.1",class:"w-full"},null,512),[[xe,s.temperature]]),c("span",stt,"Current value: "+he(s.temperature),1)]),c("div",rtt,[ott,G(c("input",{type:"range","onUpdate:modelValue":e[36]||(e[36]=d=>s.top_k=d),min:"1",max:"100",step:"1",class:"w-full"},null,512),[[xe,s.top_k]]),c("span",att,"Current value: "+he(s.top_k),1)]),c("div",ltt,[ctt,G(c("input",{type:"range","onUpdate:modelValue":e[37]||(e[37]=d=>s.top_p=d),min:"0",max:"1",step:"0.1",class:"w-full"},null,512),[[xe,s.top_p]]),c("span",dtt,"Current value: "+he(s.top_p),1)]),c("div",utt,[ptt,G(c("input",{type:"range","onUpdate:modelValue":e[38]||(e[38]=d=>s.repeat_penalty=d),min:"0",max:"5",step:"0.1",class:"bg-white dark:bg-black m-0 border-2 rounded-md shadow-sm w-full"},null,512),[[xe,s.repeat_penalty]]),c("span",_tt,"Current value: "+he(s.repeat_penalty),1)]),c("div",htt,[ftt,G(c("input",{type:"range","onUpdate:modelValue":e[39]||(e[39]=d=>s.repeat_last_n=d),min:"0",max:"100",step:"1",class:"bg-white dark:bg-black m-0 border-2 rounded-md shadow-sm w-full"},null,512),[[xe,s.repeat_last_n]]),c("span",mtt,"Current value: "+he(s.repeat_last_n),1)]),c("div",gtt,[btt,G(c("input",{type:"number","onUpdate:modelValue":e[40]||(e[40]=d=>s.n_crop=d),class:"bg-white dark:bg-black m-0 border-2 rounded-md shadow-sm w-full"},null,512),[[xe,s.n_crop]]),c("span",Ett,"Current value: "+he(s.n_crop),1)]),c("div",ytt,[vtt,G(c("input",{type:"number","onUpdate:modelValue":e[41]||(e[41]=d=>s.n_predicts=d),class:"bg-white dark:bg-black m-0 border-2 rounded-md shadow-sm w-full"},null,512),[[xe,s.n_predicts]]),c("span",Stt,"Current value: "+he(s.n_predicts),1)]),c("div",Ttt,[xtt,G(c("input",{type:"number","onUpdate:modelValue":e[42]||(e[42]=d=>s.seed=d),class:"bg-white dark:bg-black m-0 border-2 rounded-md shadow-sm w-full"},null,512),[[xe,s.seed]]),c("span",Ctt,"Current value: "+he(s.seed),1)])]),_:1})]),_:1})])]),Te(u,{ref:"toast"},null,512)],64)}const Rtt=bt(YJe,[["render",wtt]]);const Att={data(){return{activeExtension:null}},computed:{activeExtensions(){return console.log(this.$store.state.extensionsZoo),console.log(nM(this.$store.state.extensionsZoo)),this.$store.state.extensionsZoo}},methods:{showExtensionPage(n){this.activeExtension=n}}},Ntt={class:"container overflow-y-scroll flex flex-col shadow-lg p-10 pt-0 overflow-y-scroll w-full dark:bg-bg-dark scrollbar-thin scrollbar-track-bg-light-tone scrollbar-thumb-bg-light-tone-panel hover:scrollbar-thumb-primary dark:scrollbar-track-bg-dark-tone dark:scrollbar-thumb-bg-dark-tone-panel dark:hover:scrollbar-thumb-primary active:scrollbar-thumb-secondary"},Ott={key:0},Itt=["onClick"],Mtt={key:0},Dtt=["src"],ktt={key:1},Ltt=c("p",null,"No extension is active. Please install and activate an extension.",-1),Ptt=[Ltt];function Utt(n,e,t,i,s,r){return w(),A("div",Ntt,[r.activeExtensions.length>0?(w(),A("div",Ott,[(w(!0),A($e,null,lt(r.activeExtensions,o=>(w(),A("div",{key:o.name,onClick:a=>r.showExtensionPage(o)},[c("div",{class:ze({"active-tab":o===s.activeExtension})},he(o.name),3)],8,Itt))),128)),s.activeExtension?(w(),A("div",Mtt,[c("iframe",{src:s.activeExtension.page,width:"100%",height:"500px",frameborder:"0"},null,8,Dtt)])):V("",!0)])):(w(),A("div",ktt,Ptt))])}const Ftt=bt(Att,[["render",Utt]]),Btt={},Gtt={style:{width:"100vw",height:"100vh"}},Vtt=c("iframe",{src:"/help/index.html",class:"m-0 p-0 w-full h-full"},null,-1),ztt=[Vtt];function Htt(n,e,t,i,s,r){return w(),A("div",Gtt,ztt)}const qtt=bt(Btt,[["render",Htt]]);function os(n,e=!0,t=1){const i=e?1e3:1024;if(Math.abs(n)=i&&r{He.replace()})},executeCommand(n){this.isMenuOpen=!1,console.log("Selected"),console.log(n.value),typeof n.value=="function"&&(console.log("Command detected",n),n.value()),this.execute_cmd&&(console.log("executing generic command"),this.execute_cmd(n))},positionMenu(){var n;if(this.$refs.menuButton!=null){if(this.force_position==0||this.force_position==null){const e=this.$refs.menuButton.getBoundingClientRect(),t=window.innerHeight;n=e.bottom>t/2}else this.force_position==1?n=!0:n=!1;this.menuPosition.top=n?"auto":"calc(100% + 10px)",this.menuPosition.bottom=n?"100%":"auto"}}},mounted(){window.addEventListener("resize",this.positionMenu),this.positionMenu(),Ge(()=>{He.replace()})},beforeDestroy(){window.removeEventListener("resize",this.positionMenu)},watch:{isMenuOpen:"positionMenu"}},$tt={class:"menu-container"},Wtt=["title"],Ktt=["src"],jtt=["data-feather"],Qtt={key:2,class:"w-5 h-5"},Xtt={key:3,"data-feather":"menu"},Ztt={class:"flex-grow menu-ul"},Jtt=["onClick"],ent={key:0,"data-feather":"check"},tnt=["src","alt"],nnt=["data-feather"],int={key:3,class:"menu-icon"};function snt(n,e,t,i,s,r){return w(),A("div",$tt,[c("button",{onClick:e[0]||(e[0]=ge((...o)=>r.toggleMenu&&r.toggleMenu(...o),["prevent"])),title:t.title,class:ze([t.menuIconClass,"menu-button m-0 p-0 bg-blue-500 text-white dark:bg-blue-200 dark:text-gray-800 rounded flex items-center justify-center w-6 h-6 border-none cursor-pointer hover:bg-blue-400 w-8 h-8 object-fill text-red-700 border-2 active:scale-90 hover:z-20 hover:-translate-y-2 duration-150 border-gray-300 border-secondary cursor-pointer"]),ref:"menuButton"},[t.icon&&!t.icon.includes("#")&&!t.icon.includes("feather")?(w(),A("img",{key:0,src:t.icon,class:"w-5 h-5 p-0 m-0 shadow-lg bold"},null,8,Ktt)):t.icon&&t.icon.includes("feather")?(w(),A("i",{key:1,"data-feather":t.icon.split(":")[1],class:"w-5 h-5"},null,8,jtt)):t.icon&&t.icon.includes("#")?(w(),A("p",Qtt,he(t.icon.split("#")[1]),1)):(w(),A("i",Xtt))],10,Wtt),Te(Vi,{name:"slide"},{default:We(()=>[s.isMenuOpen?(w(),A("div",{key:0,class:"menu-list flex-grow",style:en(s.menuPosition),ref:"menu"},[c("ul",Ztt,[(w(!0),A($e,null,lt(t.commands,(o,a)=>(w(),A("li",{key:a,onClick:ge(l=>r.executeCommand(o),["prevent"]),class:"menu-command menu-li flex-grow hover:bg-blue-400"},[t.selected_entry==o.name?(w(),A("i",ent)):o.icon&&!o.icon.includes("feather")&&!o.is_file?(w(),A("img",{key:1,src:o.icon,alt:o.name,class:"menu-icon"},null,8,tnt)):V("",!0),o.icon&&o.icon.includes("feather")&&!o.is_file?(w(),A("i",{key:2,"data-feather":o.icon.split(":")[1],class:"mr-2"},null,8,nnt)):(w(),A("span",int)),c("span",null,he(o.name),1)],8,Jtt))),128))])],4)):V("",!0)]),_:1})])}const CE=bt(Ytt,[["render",snt]]),rnt={components:{InteractiveMenu:CE},props:{isInstalled:Boolean,onInstall:Function,onCancelInstall:Function,onUninstall:Function,onSelected:Function,onCopy:Function,onCopyLink:Function,selected:Boolean,model:Object,model_type:String},data(){return{progress:0,speed:0,total_size:0,downloaded_size:0,start_time:"",installing:!1,uninstalling:!1,failedToLoad:!1,linkNotValid:!1,selected_variant:""}},async mounted(){Ge(()=>{He.replace()})},methods:{formatFileSize(n){return n<1024?n+" bytes":n<1024*1024?(n/1024).toFixed(2)+" KB":n<1024*1024*1024?(n/(1024*1024)).toFixed(2)+" MB":(n/(1024*1024*1024)).toFixed(2)+" GB"},computedFileSize(n){return os(n)},getImgUrl(){return this.model.icon==null||this.model.icon==="/images/default_model.png"?Li:this.model.icon},defaultImg(n){n.target.src=Li},install(){this.onInstall(this)},uninstall(){this.isInstalled&&this.onUninstall(this)},toggleInstall(){this.isInstalled?(this.uninstalling=!0,this.onUninstall(this)):this.onInstall(this)},toggleSelected(n){if(console.log("event.target.tagName.toLowerCase()"),console.log(n.target.tagName.toLowerCase()),n.target.tagName.toLowerCase()==="button"||n.target.tagName.toLowerCase()==="svg"){n.stopPropagation();return}this.onSelected(this),this.model.selected=!0,Ge(()=>{He.replace()})},toggleCopy(){this.onCopy(this)},toggleCopyLink(){this.onCopyLink(this)},toggleCancelInstall(){this.onCancelInstall(this),this.installing=!1},handleSelection(){this.isInstalled&&!this.selected&&this.onSelected(this)},copyContentToClipboard(){this.$emit("copy","this.message.content")}},computed:{computed_classes(){return this.model.isInstalled?this.selected?"border-4 border-gray-200 bg-primary cursor-pointer":"border-0 border-primary bg-primary cursor-pointer":"border-transparent"},commandsList(){let n=[{name:this.model.isInstalled?"Install Extra":"Install",icon:"feather:settings",is_file:!1,value:this.install},{name:"Copy model info to clipboard",icon:"feather:settings",is_file:!1,value:this.toggleCopy}];return this.model.isInstalled&&n.push({name:"UnInstall",icon:"feather:settings",is_file:!1,value:this.uninstall}),this.selected&&n.push({name:"Reload",icon:"feather:refresh-ccw",is_file:!1,value:this.toggleSelected}),n},selected_computed(){return this.selected},fileSize:{get(){if(this.model&&this.model.variants&&this.model.variants.length>0){const n=this.model.variants[0].size;return this.formatFileSize(n)}return null}},speed_computed(){return os(this.speed)},total_size_computed(){return os(this.total_size)},downloaded_size_computed(){return os(this.downloaded_size)}},watch:{linkNotValid(){Ge(()=>{He.replace()})}}},ont=["title"],ant={key:0,class:"flex flex-row"},lnt={class:"max-w-[300px] overflow-x-auto"},cnt={class:"flex gap-3 items-center grow"},dnt=["href"],unt=["src"],pnt={class:"flex-1 overflow-hidden"},_nt={class:"font-bold font-large text-lg truncate"},hnt={key:1,class:"flex items-center flex-row gap-2 my-1"},fnt={class:"flex grow items-center"},mnt=c("i",{"data-feather":"box",class:"w-5"},null,-1),gnt=c("span",{class:"sr-only"},"Custom model / local model",-1),bnt=[mnt,gnt],Ent=c("span",{class:"sr-only"},"Remove",-1),ynt={key:2,class:"absolute z-10 -m-4 p-5 shadow-md text-center rounded-lg w-full h-full bg-bg-light-tone-panel dark:bg-bg-dark-tone-panel bg-opacity-70 dark:bg-opacity-70 flex justify-center items-center"},vnt={class:"relative flex flex-col items-center justify-center flex-grow h-full"},Snt=c("div",{role:"status",class:"justify-center"},[c("svg",{"aria-hidden":"true",class:"w-24 h-24 mr-2 text-gray-200 animate-spin dark:text-gray-600 fill-blue-600",viewBox:"0 0 100 101",fill:"none",xmlns:"http://www.w3.org/2000/svg"},[c("path",{d:"M100 50.5908C100 78.2051 77.6142 100.591 50 100.591C22.3858 100.591 0 78.2051 0 50.5908C0 22.9766 22.3858 0.59082 50 0.59082C77.6142 0.59082 100 22.9766 100 50.5908ZM9.08144 50.5908C9.08144 73.1895 27.4013 91.5094 50 91.5094C72.5987 91.5094 90.9186 73.1895 90.9186 50.5908C90.9186 27.9921 72.5987 9.67226 50 9.67226C27.4013 9.67226 9.08144 27.9921 9.08144 50.5908Z",fill:"currentColor"}),c("path",{d:"M93.9676 39.0409C96.393 38.4038 97.8624 35.9116 97.0079 33.5539C95.2932 28.8227 92.871 24.3692 89.8167 20.348C85.8452 15.1192 80.8826 10.7238 75.2124 7.41289C69.5422 4.10194 63.2754 1.94025 56.7698 1.05124C51.7666 0.367541 46.6976 0.446843 41.7345 1.27873C39.2613 1.69328 37.813 4.19778 38.4501 6.62326C39.0873 9.04874 41.5694 10.4717 44.0505 10.1071C47.8511 9.54855 51.7191 9.52689 55.5402 10.0491C60.8642 10.7766 65.9928 12.5457 70.6331 15.2552C75.2735 17.9648 79.3347 21.5619 82.5849 25.841C84.9175 28.9121 86.7997 32.2913 88.1811 35.8758C89.083 38.2158 91.5421 39.6781 93.9676 39.0409Z",fill:"currentFill"})]),c("span",{class:"sr-only"},"Loading...")],-1),Tnt={class:"relative flex flex-row flex-grow items-center w-full h-full bottom-0"},xnt={class:"w-full bg-bg-light-tone-panel dark:bg-bg-dark-tone-panel rounded-lg p-2"},Cnt={class:"flex justify-between mb-1"},wnt=c("span",{class:"text-base font-medium text-blue-700 dark:text-white"},"Downloading",-1),Rnt={class:"text-sm font-medium text-blue-700 dark:text-white"},Ant={class:"w-full bg-gray-200 rounded-full h-2.5 dark:bg-gray-700"},Nnt={class:"flex justify-between mb-1"},Ont={class:"text-base font-medium text-blue-700 dark:text-white"},Int={class:"text-sm font-medium text-blue-700 dark:text-white"},Mnt={class:"flex flex-grow"},Dnt={class:"flex flex-row flex-grow gap-3"},knt={class:"p-2 text-center grow"},Lnt={key:3},Pnt={class:"flex flex-row items-center gap-3"},Unt=["src"],Fnt={class:"font-bold font-large text-lg truncate"},Bnt=c("div",{class:"grow"},null,-1),Gnt={class:"flex items-center flex-row-reverse gap-2 my-1"},Vnt={class:"flex flex-row items-center"},znt={key:0,class:"text-base text-red-600 flex items-center mt-1"},Hnt=c("i",{"data-feather":"alert-triangle",class:"flex-shrink-0 mx-1"},null,-1),qnt=["title"],Ynt={class:""},$nt={class:"flex flex-row items-center"},Wnt=c("i",{"data-feather":"download",class:"w-5 m-1 flex-shrink-0"},null,-1),Knt=c("b",null,"Card: ",-1),jnt=["href","title"],Qnt=c("div",{class:"grow"},null,-1),Xnt=c("i",{"data-feather":"clipboard",class:"w-5"},null,-1),Znt=[Xnt],Jnt={class:"flex items-center"},eit=c("i",{"data-feather":"file",class:"w-5 m-1"},null,-1),tit=c("b",null,"File size: ",-1),nit={class:"flex items-center"},iit=c("i",{"data-feather":"key",class:"w-5 m-1"},null,-1),sit=c("b",null,"License: ",-1),rit={key:0,class:"flex items-center"},oit=c("i",{"data-feather":"user",class:"w-5 m-1"},null,-1),ait=c("b",null,"quantizer: ",-1),lit=["href"],cit={class:"flex items-center"},dit=c("i",{"data-feather":"user",class:"w-5 m-1"},null,-1),uit=c("b",null,"Model creator: ",-1),pit=["href"],_it={class:"flex items-center"},hit=c("i",{"data-feather":"clock",class:"w-5 m-1"},null,-1),fit=c("b",null,"Release date: ",-1),mit={class:"flex items-center"},git=c("i",{"data-feather":"grid",class:"w-5 m-1"},null,-1),bit=c("b",null,"Category: ",-1),Eit=["href"];function yit(n,e,t,i,s,r){const o=mt("InteractiveMenu");return w(),A("div",{class:ze(["relative items-start p-4 hover:bg-primary-light rounded-lg mb-2 shadow-lg border-2 select-none",r.computed_classes]),title:t.model.name,onClick:e[10]||(e[10]=ge(a=>r.toggleSelected(a),["prevent"]))},[t.model.isCustomModel?(w(),A("div",ant,[c("div",lnt,[c("div",cnt,[c("a",{href:t.model.model_creator_link,target:"_blank"},[c("img",{src:r.getImgUrl(),onError:e[0]||(e[0]=a=>r.defaultImg(a)),class:"w-10 h-10 rounded-lg object-fill"},null,40,unt)],8,dnt),c("div",pnt,[c("h3",_nt,he(t.model.name),1)])])])])):V("",!0),t.model.isCustomModel?(w(),A("div",hnt,[c("div",fnt,[c("button",{type:"button",title:"Custom model / local model",class:"font-medium rounded-lg text-sm p-2 text-center inline-flex items-center",onClick:e[1]||(e[1]=ge(()=>{},["stop"]))},bnt),et(" Custom model ")]),c("div",null,[t.model.isInstalled?(w(),A("button",{key:0,title:"Delete file from disk",type:"button",onClick:e[2]||(e[2]=ge((...a)=>r.uninstall&&r.uninstall(...a),["stop"])),class:"inline-flex items-center gap-2 px-3 py-2 text-xs font-medium text-center focus:outline-none text-white bg-red-700 hover:bg-red-800 focus:ring-4 focus:ring-red-300 rounded-lg dark:bg-red-600 dark:hover:bg-red-700 dark:focus:ring-red-900"},[et(" Uninstall "),Ent])):V("",!0)])])):V("",!0),s.installing?(w(),A("div",ynt,[c("div",vnt,[Snt,c("div",Tnt,[c("div",xnt,[c("div",Cnt,[wnt,c("span",Rnt,he(Math.floor(s.progress))+"%",1)]),c("div",Ant,[c("div",{class:"bg-blue-600 h-2.5 rounded-full",style:en({width:s.progress+"%"})},null,4)]),c("div",Nnt,[c("span",Ont,"Download speed: "+he(r.speed_computed)+"/s",1),c("span",Int,he(r.downloaded_size_computed)+"/"+he(r.total_size_computed),1)])])]),c("div",Mnt,[c("div",Dnt,[c("div",knt,[c("button",{onClick:e[3]||(e[3]=ge((...a)=>r.toggleCancelInstall&&r.toggleCancelInstall(...a),["stop"])),type:"button",title:"Cancel download",class:"text-gray-500 bg-white hover:bg-gray-100 focus:ring-4 focus:outline-none focus:ring-gray-200 rounded-lg border border-gray-200 text-sm font-medium px-5 py-2.5 hover:text-gray-900 focus:z-10 dark:bg-gray-700 dark:text-gray-300 dark:border-gray-500 dark:hover:text-white dark:hover:bg-gray-600 dark:focus:ring-gray-600"}," Cancel ")])])])])])):V("",!0),t.model.isCustomModel?V("",!0):(w(),A("div",Lnt,[c("div",Pnt,[c("img",{ref:"imgElement",src:r.getImgUrl(),onError:e[4]||(e[4]=a=>r.defaultImg(a)),class:ze(["w-10 h-10 rounded-lg object-fill",s.linkNotValid?"grayscale":""])},null,42,Unt),c("h3",Fnt,he(t.model.name),1),Bnt,Te(o,{commands:r.commandsList,force_position:2,title:"Menu"},null,8,["commands"])]),c("div",Gnt,[c("div",Vnt,[s.linkNotValid?(w(),A("div",znt,[Hnt,et(" Link is not valid ")])):V("",!0)])]),c("div",{class:"",title:t.model.isInstalled?t.model.name:"Not installed"},[c("div",Ynt,[c("div",$nt,[Wnt,Knt,c("a",{href:"https://huggingface.co/"+t.model.quantizer+"/"+t.model.name,target:"_blank",onClick:e[5]||(e[5]=ge(()=>{},["stop"])),class:"m-1 flex items-center hover:text-secondary duration-75 active:scale-90 truncate",title:s.linkNotValid?"Link is not valid":"Download this manually (faster) and put it in the models/ folder then refresh"}," View full model card ",8,jnt),Qnt,c("button",{class:"hover:text-secondary duration-75 active:scale-90 font-medium rounded-lg text-sm p-2 text-center inline-flex items-center",title:"Copy link to clipboard",onClick:e[6]||(e[6]=ge(a=>r.toggleCopyLink(),["stop"]))},Znt)]),c("div",Jnt,[c("div",{class:ze(["flex flex-shrink-0 items-center",s.linkNotValid?"text-red-600":""])},[eit,tit,et(" "+he(r.fileSize),1)],2)]),c("div",nit,[iit,sit,et(" "+he(t.model.license),1)]),t.model.quantizer!="None"&&t.model.type!="transformers"?(w(),A("div",rit,[oit,ait,c("a",{href:"https://huggingface.co/"+t.model.quantizer,target:"_blank",rel:"noopener noreferrer",onClick:e[7]||(e[7]=ge(()=>{},["stop"])),class:"flex hover:text-secondary duration-75 active:scale-90",title:"quantizer's profile"},he(t.model.quantizer),9,lit)])):V("",!0),c("div",cit,[dit,uit,c("a",{href:t.model.model_creator_link,target:"_blank",rel:"noopener noreferrer",onClick:e[8]||(e[8]=ge(()=>{},["stop"])),class:"flex hover:text-secondary duration-75 active:scale-90",title:"quantizer's profile"},he(t.model.model_creator),9,pit)]),c("div",_it,[hit,fit,et(" "+he(t.model.last_commit_time),1)]),c("div",mit,[git,bit,c("a",{href:"https://huggingface.co/"+t.model.model_creator,target:"_blank",rel:"noopener noreferrer",onClick:e[9]||(e[9]=ge(()=>{},["stop"])),class:"flex hover:text-secondary duration-75 active:scale-90",title:"quantizer's profile"},he(t.model.category),9,Eit)])])],8,qnt)]))],10,ont)}const vit=bt(rnt,[["render",yit]]),Sit={data(){return{editMode:!1,avatar:"path/to/avatar.jpg",personalityName:"Personality Name",personalityAuthor:"Author Name",personalityDescription:"Personality Description",personalityCategory:"Category",disclaimer:"Disclaimer text",conditioningText:"Conditioning Text",aiPrefix:"AI Prefix",userPrefix:"User Prefix",antipromptsList:[{id:1,text:"Antiprompt 1"},{id:2,text:"Antiprompt 2"},{id:3,text:"Antiprompt 3"}]}},methods:{commitChanges(){console.log("Personality changes committed"),this.editMode=!1}}},Tit={class:"p-4"},xit={class:"flex items-center mb-4"},Cit=["src"],wit={class:"text-lg font-semibold"},Rit=c("strong",null,"Author:",-1),Ait=c("strong",null,"Description:",-1),Nit=c("strong",null,"Category:",-1),Oit={key:0},Iit=c("strong",null,"Disclaimer:",-1),Mit=c("strong",null,"Conditioning Text:",-1),Dit=c("strong",null,"AI Prefix:",-1),kit=c("strong",null,"User Prefix:",-1),Lit=c("strong",null,"Antiprompts:",-1);function Pit(n,e,t,i,s,r){return w(),A("div",Tit,[c("div",xit,[c("img",{src:s.avatar,class:"w-12 h-12 rounded-full mr-2",alt:"Avatar"},null,8,Cit),c("h2",wit,he(s.personalityName),1)]),c("p",null,[Rit,et(" "+he(s.personalityAuthor),1)]),c("p",null,[Ait,et(" "+he(s.personalityDescription),1)]),c("p",null,[Nit,et(" "+he(s.personalityCategory),1)]),s.disclaimer?(w(),A("p",Oit,[Iit,et(" "+he(s.disclaimer),1)])):V("",!0),c("p",null,[Mit,et(" "+he(s.conditioningText),1)]),c("p",null,[Dit,et(" "+he(s.aiPrefix),1)]),c("p",null,[kit,et(" "+he(s.userPrefix),1)]),c("div",null,[Lit,c("ul",null,[(w(!0),A($e,null,lt(s.antipromptsList,o=>(w(),A("li",{key:o.id},he(o.text),1))),128))])]),c("button",{onClick:e[0]||(e[0]=o=>s.editMode=!0),class:"mt-4 bg-blue-500 text-white px-4 py-2 rounded"}," Edit "),s.editMode?(w(),A("button",{key:1,onClick:e[1]||(e[1]=(...o)=>r.commitChanges&&r.commitChanges(...o)),class:"mt-4 bg-green-500 text-white px-4 py-2 rounded"}," Commit ")):V("",!0)])}const Uit=bt(Sit,[["render",Pit]]),ap="/assets/logo-9d653710.svg",Fit="/",Bit={props:{personality:{},select_language:Boolean,selected:Boolean,full_path:String,onTalk:Function,onOpenFolder:Function,onSelected:Function,onMount:Function,onUnMount:Function,onRemount:Function,onCopyToCustom:Function,onEdit:Function,onReinstall:Function,onSettings:Function,onCopyPersonalityName:Function},components:{InteractiveMenu:CE},data(){return{isMounted:!1,name:this.personality.name,thumbnailVisible:!1,thumbnailPosition:{x:0,y:0}}},computed:{commandsList(){let n=[{name:this.isMounted?"unmount":"mount",icon:"feather:settings",is_file:!1,value:this.isMounted?this.unmount:this.mount},{name:"reinstall",icon:"feather:terminal",is_file:!1,value:this.toggleReinstall}];return console.log("this.category",this.personality.category),this.personality.category=="custom_personalities"?n.push({name:"edit",icon:"feather:settings",is_file:!1,value:this.edit}):n.push({name:"Copy to custom personas folder for editing",icon:"feather:copy",is_file:!1,value:this.copyToCustom}),this.isMounted&&n.push({name:"remount",icon:"feather:refresh-ccw",is_file:!1,value:this.reMount}),this.selected&&this.personality.has_scripts&&n.push({name:"settings",icon:"feather:settings",is_file:!1,value:this.toggleSettings}),n},selected_computed(){return this.selected}},mounted(){this.isMounted=this.personality.isMounted,Ge(()=>{He.replace()})},methods:{showThumbnail(){this.thumbnailVisible=!0},hideThumbnail(){this.thumbnailVisible=!1},updateThumbnailPosition(n){this.thumbnailPosition={x:n.clientX+10,y:n.clientY+10}},getImgUrl(){return Fit+this.personality.avatar},defaultImg(n){n.target.src=ap},showFolder(){this.onOpenFolder(this)},toggleTalk(){this.onTalk(this)},toggleCopyLink(){this.onCopyPersonalityName(this)},toggleSelected(){this.isMounted&&this.onSelected(this)},edit(){this.onEdit(this)},copyToCustom(){this.onCopyToCustom(this)},reMount(){this.onRemount(this)},mount(){console.log("Mounting"),this.onMount(this)},unmount(){console.log("Unmounting"),console.log(this.onUnMount),this.onUnMount(this),this.isMounted=!1},toggleSettings(){this.onSettings(this)},toggleReinstall(){this.onReinstall(this)}},watch:{selected(){Ge(()=>{He.replace()})}}},Git=["title"],Vit={class:"flex flex-row items-center flex-shrink-0 gap-3"},zit=["src"],Hit=c("i",{"data-feather":"clipboard",class:"w-5"},null,-1),qit=[Hit],Yit=["src"],$it={class:""},Wit={class:""},Kit={class:"flex items-center"},jit=c("i",{"data-feather":"user",class:"w-5 m-1"},null,-1),Qit=c("b",null,"Author: ",-1),Xit={class:"flex items-center"},Zit=c("i",{"data-feather":"git-commit",class:"w-5 m-1"},null,-1),Jit=c("b",null,"Version: ",-1),est={key:0,class:"flex items-center"},tst=c("i",{"data-feather":"globe",class:"w-5 m-1"},null,-1),nst=c("b",null,"Languages: ",-1),ist=["selected"],sst={key:1,class:"flex items-center"},rst=c("i",{"data-feather":"globe",class:"w-5 m-1"},null,-1),ost=c("b",null,"Language: ",-1),ast={class:"flex items-center"},lst=c("i",{"data-feather":"bookmark",class:"w-5 m-1"},null,-1),cst=c("b",null,"Category: ",-1),dst=c("div",{class:"flex items-center"},[c("i",{"data-feather":"info",class:"w-5 m-1"}),c("b",null,"Description: "),c("br")],-1),ust=["title","innerHTML"],pst={class:"rounded bg-blue-300"},_st=c("i",{"data-feather":"check"},null,-1),hst=c("span",{class:"sr-only"},"Select",-1),fst=[_st,hst],mst=c("i",{"data-feather":"send",class:"w-5"},null,-1),gst=c("span",{class:"sr-only"},"Talk",-1),bst=[mst,gst],Est=c("i",{"data-feather":"folder",class:"w-5"},null,-1),yst=c("span",{class:"sr-only"},"Show Folder",-1),vst=[Est,yst];function Sst(n,e,t,i,s,r){const o=mt("InteractiveMenu");return w(),A("div",{class:ze(["min-w-96 items-start p-4 hover:bg-primary-light rounded-lg mb-2 shadow-lg border-2 cursor-pointer select-none",r.selected_computed?"border-2 border-primary-light":"border-transparent",s.isMounted?"bg-blue-200 dark:bg-blue-700":""]),tabindex:"-1",title:t.personality.installed?"":"Not installed"},[c("div",{class:ze(t.personality.installed?"":"border-red-500")},[c("div",Vit,[c("img",{onClick:e[0]||(e[0]=(...a)=>r.toggleSelected&&r.toggleSelected(...a)),ref:"imgElement",src:r.getImgUrl(),onError:e[1]||(e[1]=a=>r.defaultImg(a)),class:"w-10 h-10 rounded-full object-fill text-red-700 cursor-pointer",onMouseover:e[2]||(e[2]=(...a)=>r.showThumbnail&&r.showThumbnail(...a)),onMousemove:e[3]||(e[3]=(...a)=>r.updateThumbnailPosition&&r.updateThumbnailPosition(...a)),onMouseleave:e[4]||(e[4]=(...a)=>r.hideThumbnail&&r.hideThumbnail(...a))},null,40,zit),c("h3",{onClick:e[5]||(e[5]=(...a)=>r.toggleSelected&&r.toggleSelected(...a)),class:"font-bold font-large text-lg line-clamp-3 cursor-pointer",onMouseover:e[6]||(e[6]=(...a)=>r.showThumbnail&&r.showThumbnail(...a)),onMousemove:e[7]||(e[7]=(...a)=>r.updateThumbnailPosition&&r.updateThumbnailPosition(...a)),onMouseleave:e[8]||(e[8]=(...a)=>r.hideThumbnail&&r.hideThumbnail(...a))},he(t.personality.name),33),c("button",{class:"hover:text-secondary duration-75 active:scale-90 font-medium rounded-lg text-sm p-2 text-center inline-flex items-center",title:"Copy link to clipboard",onClick:e[9]||(e[9]=ge(a=>r.toggleCopyLink(),["stop"]))},qit),s.thumbnailVisible?(w(),A("div",{key:0,style:en({top:s.thumbnailPosition.y+"px",left:s.thumbnailPosition.x+"px"}),class:"fixed z-50 w-20 h-20 rounded-full overflow-hidden"},[c("img",{src:r.getImgUrl(),class:"w-full h-full object-fill"},null,8,Yit)],4)):V("",!0)]),c("div",$it,[c("div",Wit,[c("div",Kit,[jit,Qit,et(" "+he(t.personality.author),1)]),c("div",Xit,[Zit,Jit,et(" "+he(t.personality.version),1)]),t.personality.languages&&t.select_language?(w(),A("div",est,[tst,nst,s.isMounted?V("",!0):G((w(),A("select",{key:0,id:"languages","onUpdate:modelValue":e[10]||(e[10]=a=>t.personality.language=a),class:"bg-gray-50 border border-gray-300 text-gray-900 text-sm rounded-lg focus:ring-blue-500 focus:border-blue-500 block w-full p-2.5 dark:bg-gray-700 dark:border-gray-600 dark:placeholder-gray-400 dark:text-white dark:focus:ring-blue-500 dark:focus:border-blue-500"},[(w(!0),A($e,null,lt(t.personality.languages,(a,l)=>(w(),A("option",{key:l,selected:a==t.personality.languages[0]},he(a),9,ist))),128))],512)),[[Wt,t.personality.language]])])):V("",!0),t.personality.language?(w(),A("div",sst,[rst,ost,et(" "+he(t.personality.language),1)])):V("",!0),c("div",ast,[lst,cst,et(" "+he(t.personality.category),1)])]),dst,c("p",{class:"mx-1 opacity-80 h-20 overflow-y-auto scrollbar-thin scrollbar-track-bg-light-tone scrollbar-thumb-bg-light-tone-panel hover:scrollbar-thumb-primary dark:scrollbar-track-bg-dark-tone dark:scrollbar-thumb-bg-dark-tone-panel dark:hover:scrollbar-thumb-primary active:scrollbar-thumb-secondary",title:t.personality.description,innerHTML:t.personality.description},null,8,ust)]),c("div",pst,[s.isMounted?(w(),A("button",{key:0,type:"button",title:"Select",onClick:[e[11]||(e[11]=(...a)=>r.toggleSelected&&r.toggleSelected(...a)),e[12]||(e[12]=ge(()=>{},["stop"]))],class:"hover:text-secondary duration-75 active:scale-90 font-medium rounded-lg text-sm p-2 text-center inline-flex items-center"},fst)):V("",!0),s.isMounted?(w(),A("button",{key:1,type:"button",title:"Talk",onClick:[e[13]||(e[13]=(...a)=>r.toggleTalk&&r.toggleTalk(...a)),e[14]||(e[14]=ge(()=>{},["stop"]))],class:"hover:text-secondary duration-75 active:scale-90 font-medium rounded-lg text-sm p-2 text-center inline-flex items-center"},bst)):V("",!0),c("button",{type:"button",title:"Show_folder",onClick:[e[15]||(e[15]=(...a)=>r.showFolder&&r.showFolder(...a)),e[16]||(e[16]=ge(()=>{},["stop"]))],class:"hover:text-secondary duration-75 active:scale-90 font-medium rounded-lg text-sm p-2 text-center inline-flex items-center"},vst),Te(o,{commands:r.commandsList,force_position:2,title:"Menu"},null,8,["commands"])])],2)],10,Git)}const hO=bt(Bit,[["render",Sst]]);const Tst={props:{ui:{type:String,required:!0,default:""}},watch:{ui(n,e){console.log(`ui changed from ${e} to ${n}`),this.$nextTick(()=>{this.evaluateScriptTags()})}},data(){return{}},mounted(){this.$nextTick(()=>{this.evaluateScriptTags()})},methods:{evaluateScriptTags(){console.log("evaluateScriptTags");const n=document.createElement("div");n.innerHTML=this.ui,n.querySelectorAll("script").forEach(t=>{const i=document.createElement("script");i.textContent=t.textContent,document.body.appendChild(i),document.body.removeChild(i)}),this.$refs.ui.innerHTML=n.innerHTML,console.log("this.$refs.ui.innerHTML"),console.log(this.$refs.ui.innerHTML)}}},xst={class:"w-full h-auto overflow-y-auto scrollbar-thin scrollbar-track-bg-light-tone scrollbar-thumb-bg-light-tone-panel hover:scrollbar-thumb-primary dark:scrollbar-track-bg-dark-tone dark:scrollbar-thumb-bg-dark-tone-panel dark:hover:scrollbar-thumb-primary active:scrollbar-thumb-secondary",ref:"ui"};function Cst(n,e,t,i,s,r){return w(),A("div",xst,null,512)}const fO=bt(Tst,[["render",Cst]]),wst="/",Rst={components:{DynamicUIRenderer:fO},props:{binding:{},onSelected:Function,onReinstall:Function,onInstall:Function,onUnInstall:Function,onSettings:Function,onReloadBinding:Function,selected:Boolean},data(){return{isTemplate:!1}},mounted(){Ge(()=>{He.replace()})},methods:{copyToClipBoard(n){console.log("Copying to clipboard :",n),navigator.clipboard.writeText(n)},getImgUrl(){return wst+this.binding.icon},defaultImg(n){n.target.src=ap},toggleSelected(){this.onSelected(this)},toggleInstall(){this.onInstall(this)},toggleUnInstall(){this.onUnInstall(this)},toggleReinstall(){this.onReinstall(this)},toggleReloadBinding(){this.onReloadBinding(this)},toggleSettings(){this.onSettings(this)},getStatus(){(this.binding.folder==="backend_template"||this.binding.folder==="binding_template")&&(this.isTemplate=!0)}},watch:{selected(){Ge(()=>{He.replace()})}}},Ast=["title"],Nst={class:"flex flex-row items-center gap-3"},Ost=["src"],Ist={class:"font-bold font-large text-lg truncate"},Mst=c("div",{class:"grow"},null,-1),Dst={class:"flex-none gap-1"},kst=c("i",{"data-feather":"refresh-cw",class:"w-5"},null,-1),Lst=c("span",{class:"sr-only"},"Help",-1),Pst=[kst,Lst],Ust={class:"flex items-center flex-row-reverse gap-2 my-1"},Fst=c("span",{class:"sr-only"},"Click to install",-1),Bst=c("span",{class:"sr-only"},"Reinstall",-1),Gst=c("span",{class:"sr-only"},"UnInstall",-1),Vst=c("span",{class:"sr-only"},"Settings",-1),zst={class:""},Hst={class:""},qst={class:"flex items-center"},Yst=c("i",{"data-feather":"user",class:"w-5 m-1"},null,-1),$st=c("b",null,"Author: ",-1),Wst={class:"flex items-center"},Kst=c("i",{"data-feather":"folder",class:"w-5 m-1"},null,-1),jst=c("b",null,"Folder: ",-1),Qst=c("div",{class:"grow"},null,-1),Xst=c("i",{"data-feather":"clipboard",class:"w-5"},null,-1),Zst=[Xst],Jst={class:"flex items-center"},ert=c("i",{"data-feather":"git-merge",class:"w-5 m-1"},null,-1),trt=c("b",null,"Version: ",-1),nrt={class:"flex items-center"},irt=c("i",{"data-feather":"github",class:"w-5 m-1"},null,-1),srt=c("b",null,"Link: ",-1),rrt=["href"],ort=c("div",{class:"flex items-center"},[c("i",{"data-feather":"info",class:"w-5 m-1"}),c("b",null,"Description: "),c("br")],-1),art=["title","innerHTML"];function lrt(n,e,t,i,s,r){const o=mt("DynamicUIRenderer");return w(),A("div",{class:ze(["items-start p-4 hover:bg-primary-light hover:border-primary-light rounded-lg mb-2 shadow-lg border-2 cursor-pointer select-none",t.selected?" border-primary bg-primary":"border-transparent"]),onClick:e[8]||(e[8]=ge((...a)=>r.toggleSelected&&r.toggleSelected(...a),["stop"])),title:t.binding.installed?t.binding.name:"Not installed"},[c("div",null,[c("div",Nst,[c("img",{ref:"imgElement",src:r.getImgUrl(),onError:e[0]||(e[0]=a=>r.defaultImg(a)),class:"w-10 h-10 rounded-full object-fill text-blue-700"},null,40,Ost),c("h3",Ist,he(t.binding.name),1),Mst,c("div",Dst,[t.selected?(w(),A("button",{key:0,type:"button",title:"Reload binding",onClick:[e[1]||(e[1]=(...a)=>r.toggleReloadBinding&&r.toggleReloadBinding(...a)),e[2]||(e[2]=ge(()=>{},["stop"]))],class:"hover:text-secondary duration-75 active:scale-90 font-medium rounded-lg text-sm p-2 text-center inline-flex items-center"},Pst)):V("",!0)])]),c("div",Ust,[t.binding.installed?V("",!0):(w(),A("button",{key:0,title:"Click to install",type:"button",onClick:e[3]||(e[3]=ge((...a)=>r.toggleInstall&&r.toggleInstall(...a),["stop"])),class:"inline-flex items-center gap-2 px-3 py-2 text-xs font-medium text-center text-white bg-blue-700 rounded-lg hover:bg-blue-800 focus:ring-4 focus:outline-none focus:ring-blue-300 dark:bg-blue-600 dark:hover:bg-blue-700 dark:focus:ring-blue-800"},[et(" Install "),Fst])),t.binding.installed?(w(),A("button",{key:1,title:"Click to Reinstall binding",type:"button",onClick:e[4]||(e[4]=ge((...a)=>r.toggleReinstall&&r.toggleReinstall(...a),["stop"])),class:"inline-flex items-center gap-2 px-3 py-2 text-xs font-medium text-center focus:outline-none text-white bg-green-700 hover:bg-red-800 focus:ring-4 focus:ring-green-300 rounded-lg dark:bg-green-600 dark:hover:bg-green-700 dark:focus:ring-red-900"},[et(" Reinstall "),Bst])):V("",!0),t.binding.installed?(w(),A("button",{key:2,title:"Click to Reinstall binding",type:"button",onClick:e[5]||(e[5]=ge((...a)=>r.toggleUnInstall&&r.toggleUnInstall(...a),["stop"])),class:"inline-flex items-center gap-2 px-3 py-2 text-xs font-medium text-center focus:outline-none text-white bg-red-700 hover:bg-red-800 focus:ring-4 focus:ring-red-300 rounded-lg dark:bg-red-600 dark:hover:bg-red-700 dark:focus:ring-red-900"},[et(" Uninstall "),Gst])):V("",!0),t.selected?(w(),A("button",{key:3,title:"Click to open Settings",type:"button",onClick:e[6]||(e[6]=ge((...a)=>r.toggleSettings&&r.toggleSettings(...a),["stop"])),class:"inline-flex items-center gap-2 px-3 py-2 text-xs font-medium text-center text-white bg-blue-700 rounded-lg hover:bg-blue-800 focus:ring-4 focus:outline-none focus:ring-blue-300 dark:bg-blue-600 dark:hover:bg-blue-700 dark:focus:ring-blue-800"},[et(" Settings "),Vst])):V("",!0)]),t.binding.ui?(w(),xt(o,{key:0,class:"w-full h-full",code:t.binding.ui},null,8,["code"])):V("",!0),c("div",zst,[c("div",Hst,[c("div",qst,[Yst,$st,et(" "+he(t.binding.author),1)]),c("div",Wst,[Kst,jst,et(" "+he(t.binding.folder)+" ",1),Qst,c("button",{class:"hover:text-secondary duration-75 active:scale-90 font-medium rounded-lg text-sm p-2 text-center inline-flex items-center",title:"Copy link to clipboard",onClick:e[7]||(e[7]=ge(a=>r.copyToClipBoard(this.binding.folder),["stop"]))},Zst)]),c("div",Jst,[ert,trt,et(" "+he(t.binding.version),1)]),c("div",nrt,[irt,srt,c("a",{href:t.binding.link,target:"_blank",class:"flex items-center hover:text-secondary duration-75 active:scale-90"},he(t.binding.link),9,rrt)])]),ort,c("p",{class:"mx-1 opacity-80 line-clamp-3",title:t.binding.description,innerHTML:t.binding.description},null,8,art)])])],10,Ast)}const crt=bt(Rst,[["render",lrt]]),drt={data(){return{show:!1,model_path:"",resolve:null}},methods:{cancel(){this.resolve(null)},openInputBox(){return new Promise(n=>{this.resolve=n})},hide(n){this.show=!1,this.resolve&&(this.resolve(n),this.resolve=null)},showDialog(n){return new Promise(e=>{this.model_path=n,this.show=!0,this.resolve=e})}}},urt={key:0,class:"fixed top-0 left-0 right-0 bottom-0 flex items-center justify-center bg-black bg-opacity-50"},prt={class:"relative w-full max-w-md max-h-full"},_rt={class:"relative bg-white rounded-lg shadow dark:bg-gray-700"},hrt=c("svg",{"aria-hidden":"true",class:"w-5 h-5",fill:"currentColor",viewBox:"0 0 20 20",xmlns:"http://www.w3.org/2000/svg"},[c("path",{"fill-rule":"evenodd",d:"M4.293 4.293a1 1 0 011.414 0L10 8.586l4.293-4.293a1 1 0 111.414 1.414L11.414 10l4.293 4.293a1 1 0 01-1.414 1.414L10 11.414l-4.293 4.293a1 1 0 01-1.414-1.414L8.586 10 4.293 5.707a1 1 0 010-1.414z","clip-rule":"evenodd"})],-1),frt=c("span",{class:"sr-only"},"Close modal",-1),mrt=[hrt,frt],grt={class:"p-4 text-center"},brt=c("svg",{"aria-hidden":"true",class:"mx-auto mb-4 text-gray-400 w-14 h-14 dark:text-gray-200",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24",xmlns:"http://www.w3.org/2000/svg"},[c("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M12 8v4m0 4h.01M21 12a9 9 0 11-18 0 9 9 0 0118 0z"})],-1),Ert={class:"p-4 text-center mx-auto mb-4"},yrt=c("label",{class:"mr-2"},"Model path",-1);function vrt(n,e,t,i,s,r){return s.show?(w(),A("div",urt,[c("div",prt,[c("div",_rt,[c("button",{type:"button",onClick:e[0]||(e[0]=o=>r.hide(!1)),class:"absolute top-3 right-2.5 text-gray-400 bg-transparent hover:bg-gray-200 hover:text-gray-900 rounded-lg text-sm p-1.5 ml-auto inline-flex items-center dark:hover:bg-gray-800 dark:hover:text-white"},mrt),c("div",grt,[brt,c("div",Ert,[yrt,G(c("input",{"onUpdate:modelValue":e[1]||(e[1]=o=>s.model_path=o),class:"px-4 py-2 border border-gray-300 rounded-lg",type:"text"},null,512),[[xe,s.model_path]])]),c("button",{onClick:e[2]||(e[2]=o=>r.hide(!0)),type:"button",class:"text-white bg-green-600 hover:bg-green-800 focus:ring-4 focus:outline-none focus:ring-red-300 dark:focus:ring-red-800 font-medium rounded-lg text-sm inline-flex items-center px-5 py-2.5 text-center mr-2"}," Add "),c("button",{onClick:e[3]||(e[3]=o=>r.hide(!1)),type:"button",class:"text-gray-500 bg-white hover:bg-gray-100 focus:ring-4 focus:outline-none focus:ring-gray-200 rounded-lg border border-gray-200 text-sm font-medium px-5 py-2.5 hover:text-gray-900 focus:z-10 dark:bg-gray-700 dark:text-gray-300 dark:border-gray-500 dark:hover:text-white dark:hover:bg-gray-600 dark:focus:ring-gray-600"},"No, cancel")])])])])):V("",!0)}const Srt=bt(drt,[["render",vrt]]);const Trt={props:{show:{type:Boolean,default:!1,required:!1},can_remove:{type:Boolean,default:!1},title:{type:String,default:"Select an option"},choices:{type:Array,required:!0}},data(){return{selectedChoice:null,showInput:!1,newFilename:""}},methods:{displayName(n){return console.log("choice:",n),typeof n=="string"?n:n&&n.name?n.name:""},selectChoice(n){this.selectedChoice=n,this.$emit("choice-selected",n)},closeDialog(){this.$emit("close-dialog")},validateChoice(){this.$emit("choice-validated",this.selectedChoice)},formatSize(n){return n<1024?n+" bytes":n<1024*1024?(n/1024).toFixed(2)+" KB":n<1024*1024*1024?(n/(1024*1024)).toFixed(2)+" MB":(n/(1024*1024*1024)).toFixed(2)+" GB"},toggleInput(){this.showInput=!this.showInput},addNewFilename(){const n=this.newFilename.trim();n!==""&&(this.choices.push(n),this.newFilename="",this.selectChoice(n)),this.showInput=!1},removeChoice(n,e){this.choices.splice(e,1),n===this.selectedChoice&&(this.selectedChoice=null),this.$emit("choice-removed",n)}}},xrt={key:0,class:"fixed inset-0 flex items-center justify-center bg-black bg-opacity-50 z-20"},Crt={class:"bg-bg-light dark:bg-bg-dark rounded-lg p-6 w-96"},wrt={class:"text-xl font-bold text-5xl drop-shadow-md align-middle"},Rrt={class:"h-48 text-light-text-panel dark:text-dark-text-panel bg-bg-light-tone-panel dark:bg-dark-tone-panel overflow-y-auto rounded drop-shadow-md overflow-y-auto scrollbar-thin scrollbar-track-bg-light-tone scrollbar-thumb-bg-light-tone-panel hover:scrollbar-thumb-primary dark:scrollbar-track-bg-dark-tone dark:scrollbar-thumb-bg-dark-tone-panel dark:hover:scrollbar-thumb-primary active:scrollbar-thumb-secondary"},Art=["onClick"],Nrt={class:"font-bold text-dark-text-panel dark:text-light-text-panel"},Ort=c("br",null,null,-1),Irt={key:0,class:"text-xs text-gray-500"},Mrt=["onClick"],Drt={key:0,class:"flex flex-row mt-4 bg-light-tone-panel dark:bg-dark-tone-panel"},krt={class:"flex justify-end mt-4"},Lrt=["disabled"];function Prt(n,e,t,i,s,r){return w(),xt(Vi,{name:"fade"},{default:We(()=>[t.show?(w(),A("div",xrt,[c("div",Crt,[c("h2",wrt,he(t.title),1),c("div",Rrt,[c("ul",null,[(w(!0),A($e,null,lt(t.choices,(o,a)=>(w(),A("li",{key:a,onClick:l=>r.selectChoice(o),class:ze([{"selected-choice":o===s.selectedChoice},"py-2 px-4 cursor-pointer hover:bg-accent dark:hover:bg-secondary"])},[c("span",Nrt,he(r.displayName(o)),1),Ort,o.size?(w(),A("span",Irt,he(r.formatSize(o.size)),1)):V("",!0),t.can_remove?(w(),A("button",{key:1,onClick:ge(l=>r.removeChoice(o,a),["stop"]),class:"ml-2 text-red-500 hover:text-red-600"}," X ",8,Mrt)):V("",!0)],10,Art))),128))])]),s.showInput?(w(),A("div",Drt,[G(c("input",{"onUpdate:modelValue":e[0]||(e[0]=o=>s.newFilename=o),placeholder:"Enter a filename",class:"border border-gray-300 p-2 rounded-lg w-full"},null,512),[[xe,s.newFilename]]),c("button",{onClick:e[1]||(e[1]=(...o)=>r.addNewFilename&&r.addNewFilename(...o)),class:"ml-2 grow pl-2 pr-2 bg-primary hover:bg-primary-light text-white rounded-lg transition duration-300"}," Add ")])):V("",!0),c("div",krt,[c("button",{onClick:e[2]||(e[2]=(...o)=>r.closeDialog&&r.closeDialog(...o)),class:"py-2 px-4 mr-2 bg-secondary hover:bg-accent text-white rounded-lg transition duration-300"}," Cancel "),c("button",{onClick:e[3]||(e[3]=(...o)=>r.validateChoice&&r.validateChoice(...o)),class:ze([{"bg-gray-400 cursor-not-allowed":!s.selectedChoice,"bg-primary hover:bg-primary-light":s.selectedChoice,"text-white":s.selectedChoice,"text-gray-500":!s.selectedChoice},"py-2 px-4 rounded-lg transition duration-300"]),disabled:!s.selectedChoice}," Validate ",10,Lrt),c("button",{onClick:e[4]||(e[4]=(...o)=>r.toggleInput&&r.toggleInput(...o)),class:"py-2 px-4 ml-2 bg-accent hover:bg-secondary text-white rounded-lg transition duration-300"}," Add New ")])])])):V("",!0)]),_:1})}const wE=bt(Trt,[["render",Prt]]),Urt={props:{radioOptions:{type:Array,required:!0},defaultValue:{type:String,default:"0"}},data(){return{selectedValue:this.defaultValue}},computed:{selectedLabel(){const n=this.radioOptions.find(e=>e.value===this.selectedValue);return n?n.label:""}},watch:{selectedValue(n,e){this.$emit("radio-selected",n)}},methods:{handleRadioChange(){}}},Frt={class:"flex space-x-4"},Brt=["value","aria-checked"],Grt={class:"text-gray-700"};function Vrt(n,e,t,i,s,r){return w(),A("div",Frt,[(w(!0),A($e,null,lt(t.radioOptions,(o,a)=>(w(),A("label",{key:o.value,class:"flex items-center space-x-2"},[G(c("input",{type:"radio",value:o.value,"onUpdate:modelValue":e[0]||(e[0]=l=>s.selectedValue=l),onChange:e[1]||(e[1]=(...l)=>r.handleRadioChange&&r.handleRadioChange(...l)),class:"text-blue-500 focus:ring-2 focus:ring-blue-200","aria-checked":s.selectedValue===o.value.toString(),role:"radio"},null,40,Brt),[[HD,s.selectedValue]]),c("span",Grt,he(o.label),1)]))),128))])}const zrt=bt(Urt,[["render",Vrt]]),Hrt="/assets/gpu-df72bf63.svg";const qrt="/";Se.defaults.baseURL="/";const Yrt={components:{AddModelDialog:Srt,ModelEntry:vit,PersonalityViewer:Uit,PersonalityEntry:hO,BindingEntry:crt,ChoiceDialog:wE,Card:op,RadioOptions:zrt},data(){return{posts_headers:{accept:"application/json","Content-Type":"application/json"},defaultModelImgPlaceholder:Li,snd_input_devices:[],snd_input_devices_indexes:[],snd_output_devices:[],snd_output_devices_indexes:[],voices:[],voice_languages:{Arabic:"ar","Brazilian Portuguese":"pt",Chinese:"zh-cn",Czech:"cs",Dutch:"nl",English:"en",French:"fr",German:"de",Italian:"it",Polish:"pl",Russian:"ru",Spanish:"es",Turkish:"tr",Japanese:"ja",Korean:"ko",Hungarian:"hu",Hindi:"hi"},storeLogo:Ti,binding_changed:!1,SVGGPU:Hrt,models_zoo:[],models_zoo_initialLoadCount:10,models_zoo_loadMoreCount:5,models_zoo_loadedEntries:[],models_zoo_scrollThreshold:200,sortOptions:[{label:"Sort by Date",value:0},{label:"Sort by Rank",value:1},{label:"Sort by Name",value:2},{label:"Sort by Maker",value:3},{label:"Sort by Quantizer",value:4}],comfyui_models:[],show_only_installed_models:!1,reference_path:"",audioVoices:[],has_updates:!1,variant_choices:[],variantSelectionDialogVisible:!1,currenModelToInstall:null,loading_text:"",personality_category:null,addModelDialogVisibility:!1,modelPath:"",personalitiesFiltered:[],modelsFiltered:[],collapsedArr:[],all_collapsed:!0,data_conf_collapsed:!0,internet_conf_collapsed:!0,servers_conf_collapsed:!0,minconf_collapsed:!0,bec_collapsed:!0,sort_type:0,is_loading_zoo:!1,mzc_collapsed:!0,mzdc_collapsed:!0,pzc_collapsed:!0,bzc_collapsed:!0,pc_collapsed:!0,mc_collapsed:!0,sc_collapsed:!0,mzl_collapsed:!1,pzl_collapsed:!1,ezl_collapsed:!1,bzl_collapsed:!1,extCatgArr:[],persCatgArr:[],persArr:[],showConfirmation:!1,showToast:!1,isLoading:!1,settingsChanged:!1,isModelSelected:!1,isMounted:!1,bUrl:qrt,searchPersonality:"",searchModel:"",searchPersonalityTimer:{},searchPersonalityTimerInterval:1500,searchModelTimerInterval:1500,searchPersonalityInProgress:!1,searchModelInProgress:!1,addModel:{},modelDownlaodInProgress:!1,uploadData:[]}},async created(){Ye.on("loading_text",this.on_loading_text),this.updateHasUpdates()},methods:{addDataSource(){this.$store.state.config.rag_databases.push(""),this.settingsChanged=!0},removeDataSource(n){this.$store.state.config.rag_databases.splice(n,1),this.settingsChanged=!0},async vectorize_folder(n){await Se.post("/vectorize_folder",{client_id:this.$store.state.client_id,db_path:this.$store.state.config.rag_databases[n]},this.posts_headers)},async select_folder(n){try{Ye.on("rag_db_added",e=>{console.log(e),e?(this.$store.state.config.rag_databases[n]=`${e.database_name}::${e.database_path}`,this.settingsChanged=!0):this.$store.state.toast.showToast("Failed to select a folder",4,!1)}),await Se.post("/add_rag_database",{client_id:this.$store.state.client_id},this.posts_headers)}catch{this.$store.state.toast.showToast("Failed to select a folder",4,!1)}},handleTemplateSelection(n){console.log("handleTemplateSelection");const e=n.target.value;console.log("handleTemplateSelection: ",e),e==="lollms"?(console.log("Using lollms template"),this.configFile.start_header_id_template="!@>",this.configFile.system_message_template="system",this.configFile.end_header_id_template=": ",this.configFile.separator_template=` `,this.configFile.start_user_header_id_template="!@>",this.configFile.end_user_header_id_template=": ",this.configFile.end_user_message_id_template="",this.configFile.start_ai_header_id_template="!@>",this.configFile.end_ai_header_id_template=": ",this.configFile.end_ai_message_id_template="",this.settingsChanged=!0):e==="lollms_simplified"?(console.log("Using lollms template"),this.configFile.start_header_id_template="@>",this.configFile.system_message_template="system",this.configFile.end_header_id_template=": ",this.configFile.separator_template=` `,this.configFile.start_user_header_id_template="@>",this.configFile.end_user_header_id_template=": ",this.configFile.end_user_message_id_template="",this.configFile.start_ai_header_id_template="@>",this.configFile.end_ai_header_id_template=": ",this.configFile.end_ai_message_id_template="",this.settingsChanged=!0):e==="llama3"?(console.log("Using llama3 template"),this.configFile.start_header_id_template="<|start_header_id|>",this.configFile.system_message_template="system",this.configFile.end_header_id_template="<|end_header_id|>",this.configFile.separator_template="<|eot_id|>",this.configFile.start_user_header_id_template="<|start_header_id|>",this.configFile.end_user_header_id_template="<|end_header_id|>",this.configFile.end_user_message_id_template="",this.configFile.start_ai_header_id_template="<|start_header_id|>",this.configFile.end_ai_header_id_template="<|end_header_id|>",this.configFile.end_ai_message_id_template="",this.settingsChanged=!0):e==="mistral"&&(console.log("Using mistral template"),this.configFile.start_header_id_template="[INST]",this.configFile.system_message_template=" Using this information",this.configFile.end_header_id_template=": ",this.configFile.separator_template=` `,this.configFile.start_user_header_id_template="[INST]",this.configFile.end_user_header_id_template=": ",this.configFile.end_user_message_id_template="[/INST]",this.configFile.start_ai_header_id_template="[INST]",this.configFile.end_ai_header_id_template=": ",this.configFile.end_ai_message_id_template="[/INST]",this.settingsChanged=!0)},install_model(){},reinstallDiffusersService(){Se.post("/install_diffusers",{client_id:this.$store.state.client_id},this.posts_headers).then(n=>{}).catch(n=>{console.error(n)})},upgradeDiffusersService(){Se.post("upgrade_sd",{client_id:this.$store.state.client_id},this.posts_headers).then(n=>{}).catch(n=>{console.error(n)})},reinstallSDService(){Se.post("/install_sd",{client_id:this.$store.state.client_id},this.posts_headers).then(n=>{}).catch(n=>{console.error(n)})},upgradeSDService(){Se.post("upgrade_sd",{client_id:this.$store.state.client_id},this.posts_headers).then(n=>{}).catch(n=>{console.error(n)})},startSDService(){Se.post("start_sd",{client_id:this.$store.state.client_id},this.posts_headers).then(n=>{}).catch(n=>{console.error(n)})},showSD(){Se.post("show_sd",{client_id:this.$store.state.client_id},this.posts_headers).then(n=>{}).catch(n=>{console.error(n)})},reinstallComfyUIService(){Se.post("install_comfyui",{client_id:this.$store.state.client_id}).then(n=>{}).catch(n=>{console.error(n)})},upgradeComfyUIService(){Se.post("upgrade_comfyui",{client_id:this.$store.state.client_id}).then(n=>{}).catch(n=>{console.error(n)})},startComfyUIService(){Se.post("start_comfyui",{client_id:this.$store.state.client_id}).then(n=>{}).catch(n=>{console.error(n)})},showComfyui(){Se.post("show_comfyui",{client_id:this.$store.state.client_id}).then(n=>{}).catch(n=>{console.error(n)})},reinstallMotionCtrlService(){Se.post("install_motion_ctrl",{client_id:this.$store.state.client_id}).then(n=>{}).catch(n=>{console.error(n)})},reinstallvLLMService(){Se.post("install_vllm",{client_id:this.$store.state.client_id}).then(n=>{}).catch(n=>{console.error(n)})},startvLLMService(){Se.post("start_vllm",{client_id:this.$store.state.client_id}).then(n=>{}).catch(n=>{console.error(n)})},startollamaService(){Se.post("start_ollama",{client_id:this.$store.state.client_id}).then(n=>{}).catch(n=>{console.error(n)})},reinstallPetalsService(){Se.post("install_petals",{client_id:this.$store.state.client_id}).then(n=>{}).catch(n=>{console.error(n)})},reinstallOLLAMAService(){Se.post("install_ollama",{client_id:this.$store.state.client_id}).then(n=>{}).catch(n=>{console.error(n)})},reinstallAudioService(){Se.post("install_xtts",{client_id:this.$store.state.client_id}).then(n=>{}).catch(n=>{console.error(n)})},startAudioService(){Se.personalitiesFiltered("start_xtts",{client_id:this.$store.state.client_id}).then(n=>{}).catch(n=>{console.error(n)})},reinstallElasticSearchService(){Se.post("install_vllm",{client_id:this.$store.state.client_id}).then(n=>{}).catch(n=>{console.error(n)})},getSeviceVoices(){Se.get("list_voices").then(n=>{this.voices=n.data.voices}).catch(n=>{console.error(n)})},load_more_models(){this.models_zoo_initialLoadCount+10{He.replace()}),this.binding_changed&&!this.mzc_collapsed&&(this.modelsZoo==null||this.modelsZoo.length==0)&&(console.log("Refreshing models"),await this.$store.dispatch("refreshConfig"),this.models_zoo=[],this.refreshModelsZoo(),this.binding_changed=!1)},async selectSortOption(n){this.$store.state.sort_type=n,this.updateModelsZoo(),console.log(`Selected sorting:${n}`),console.log(`models:${this.models_zoo}`)},handleRadioSelected(n){this.isLoading=!0,this.selectSortOption(n).then(()=>{this.isLoading=!1})},filter_installed(n){return console.log("filtering"),n.filter(e=>e.isInstalled===!0)},getVoices(){"speechSynthesis"in window&&(console.log("voice synthesis"),this.audioVoices=speechSynthesis.getVoices(),console.log("Voices:"+this.audioVoices),!this.audio_out_voice&&this.audioVoices.length>0&&(this.audio_out_voice=this.audioVoices[0].name),speechSynthesis.onvoiceschanged=()=>{})},async updateHasUpdates(){let n=await this.api_get_req("check_update");this.has_updates=n.update_availability,console.log("has_updates",this.has_updates)},onVariantChoiceSelected(n){this.selected_variant=n},oncloseVariantChoiceDialog(){this.variantSelectionDialogVisible=!1},onvalidateVariantChoice(n){this.variantSelectionDialogVisible=!1,this.currenModelToInstall.installing=!0;let e=this.currenModelToInstall;if(e.linkNotValid){e.installing=!1,this.$store.state.toast.showToast("Link is not valid, file does not exist",4,!1);return}let t="https://huggingface.co/"+e.model.quantizer+"/"+e.model.name+"/resolve/main/"+this.selected_variant.name;this.showProgress=!0,this.progress=0,this.addModel={model_name:this.selected_variant.name,binding_folder:this.configFile.binding_name,model_url:t},console.log("installing...",this.addModel);const i=s=>{if(console.log("received something"),s.status&&s.progress<=100){if(this.addModel=s,console.log("Progress",s),e.progress=s.progress,e.speed=s.speed,e.total_size=s.total_size,e.downloaded_size=s.downloaded_size,e.start_time=s.start_time,e.installing=!0,e.progress==100){const r=this.models_zoo.findIndex(o=>o.name===e.model.name);this.models_zoo[r].isInstalled=!0,this.showProgress=!1,e.installing=!1,console.log("Received succeeded"),Ye.off("install_progress",i),console.log("Installed successfully"),this.$store.state.toast.showToast(`Model: @@ -186,7 +186,7 @@ Error: `+e.error,4,!1)},getMountedPersonalities(){this.isLoading=!0;let n=[];con Error: `+e.error,4,!1)},async unmount_personality(n){if(!n)return{status:!1,error:"no personality - unmount_personality"};const e={client_id:this.$store.state.client_id,language:n.language,category:n.category,folder:n.folder};try{const t=await Se.post("/unmount_personality",e);if(t)return t.data}catch(t){console.log(t.message,"unmount_personality - settings");return}},async showBindingHoveredIn(n){this.bindingHoveredIndex=n},async showBindingHoveredOut(){this.bindingHoveredIndex=null},async showModelHoveredIn(n){this.modelHoveredIndex=n},async showModelHoveredOut(){this.modelHoveredIndex=null},async showPersonalityHoveredIn(n){this.personalityHoveredIndex=n},async showPersonalityHoveredOut(){this.personalityHoveredIndex=null},async onPersonalitySelected(n){if(n){if(n.selected){this.$store.state.toast.showToast("Personality already selected",4,!0);return}const e=n.language===null?n.full_path:n.full_path+":"+n.language;if(console.log("pers_path",e),console.log("this.$store.state.config.personalities",this.$store.state.config.personalities),this.$store.state.config.personalities.includes(e)){const t=await this.select_personality(n);await this.$store.dispatch("refreshConfig"),await this.$store.dispatch("refreshBindings"),await this.$store.dispatch("refreshModelsZoo"),await this.$store.dispatch("refreshModels"),await this.$store.dispatch("refreshMountedPersonalities"),await this.$store.dispatch("refreshConfig"),await this.$store.dispatch("fetchLanguages"),await this.$store.dispatch("fetchLanguage"),await this.$store.dispatch("fetchisRTOn"),console.log("pers is mounted",t),t&&t.status&&t.active_personality_id>-1?this.$store.state.toast.showToast(`Selected personality: `+n.name,4,!0):this.$store.state.toast.showToast(`Error on select personality: `+n.name,4,!1)}else console.log("mounting pers");this.$emit("personalitySelected"),Ge(()=>{He.replace()})}},async select_personality(n){if(!n)return{status:!1,error:"no personality - select_personality"};const e=n.language===null?n.full_path:n.full_path+":"+n.language;console.log("Selecting personality ",e);const t=this.$store.state.config.personalities.findIndex(s=>s===e),i={client_id:this.$store.state.client_id,id:t};try{const s=await Se.post("/select_personality",i);if(s)return this.$store.dispatch("refreshConfig").then(()=>{this.$store.dispatch("refreshPersonalitiesZoo").then(()=>{this.$store.dispatch("refreshMountedPersonalities")})}),s.data}catch(s){console.log(s.message,"select_personality - settings");return}},emitloaded(){this.$emit("loaded")},showModels(n){n.preventDefault();const e=this.$refs.modelsSelectionList;console.log(e);const t=new MouseEvent("click");e.dispatchEvent(t)},setBinding(n){console.log("Setting binding to "+n.name),this.selecting_binding=!0,this.selectedBinding=n,this.$store.state.messageBox.showBlockingMessage("Loading binding"),Se.post("/update_setting",{client_id:this.$store.state.client_id,setting_name:"binding_name",setting_value:n.name}).then(async e=>{this.$store.state.messageBox.hideMessage(),console.log("UPDATED"),console.log(e),await this.$store.dispatch("refreshConfig"),await this.$store.dispatch("refreshBindings"),await this.$store.dispatch("refreshModelsZoo"),await this.$store.dispatch("refreshModels"),this.$store.state.toast.showToast(`Binding changed to ${this.currentBinding.name}`,4,!0),this.selecting_binding=!1}).catch(e=>{this.$store.state.messageBox.hideMessage(),this.$store.state.toast.showToast(`Error ${e}`,4,!0),this.selecting_binding=!1})},setModel(n){console.log("Setting model to "+n.name),this.selecting_model=!0,this.selectedModel=n,this.$store.state.messageBox.showBlockingMessage("Loading model"),Se.post("/update_setting",{client_id:this.$store.state.client_id,setting_name:"model_name",setting_value:n.name}).then(async e=>{this.$store.state.messageBox.hideMessage(),console.log("UPDATED"),console.log(e),await this.$store.dispatch("refreshConfig"),await this.$store.dispatch("refreshModels"),this.$store.state.toast.showToast(`Model changed to ${this.currentModel.name}`,4,!0),this.selecting_model=!1}).catch(e=>{this.$store.state.messageBox.hideMessage(),this.$store.state.toast.showToast(`Error ${e}`,4,!0),this.selecting_model=!1})},download_files(){Se.get("/download_files")},remove_file(n){Se.get("/remove_discussion_file",{client_id:this.$store.state.client_id,name:n}).then(e=>{console.log(e)})},clear_files(){Se.post("/clear_discussion_files_list",{client_id:this.$store.state.client_id}).then(n=>{console.log(n),n.data.state?(this.$store.state.toast.showToast("File removed successfully",4,!0),this.filesList.length=0,this.isFileSentList.length=0,this.totalSize=0):this.$store.state.toast.showToast("Files couldn't be removed",4,!1)})},send_file(n,e){console.log("Send file triggered");const t=new FileReader,i=24*1024;let s=0,r=0;t.onloadend=()=>{if(t.error){console.error("Error reading file:",t.error);return}const a=t.result,l=s+a.byteLength>=n.size;Ye.emit("send_file_chunk",{filename:n.name,chunk:a,offset:s,isLastChunk:l,chunkIndex:r}),s+=a.byteLength,r++,l?(console.log("File sent successfully"),this.isFileSentList[this.filesList.length-1]=!0,console.log(this.isFileSentList),this.$store.state.toast.showToast("File uploaded successfully",4,!0),e()):o()};function o(){const a=n.slice(s,s+i);t.readAsArrayBuffer(a)}console.log("Uploading file"),o()},makeAnEmptyUserMessage(){this.$emit("createEmptyUserMessage",this.message),this.message=""},makeAnEmptyAIMessage(){this.$emit("createEmptyAIMessage")},startRTCom(){this.is_rt=!0,console.log("is_rt:",this.is_rt),Ye.emit("start_bidirectional_audio_stream"),Ge(()=>{He.replace()})},stopRTCom(){this.is_rt=!1,console.log("is_rt:",this.is_rt),Ye.emit("stop_bidirectional_audio_stream"),Ge(()=>{He.replace()})},startSpeechRecognition(){"SpeechRecognition"in window||"webkitSpeechRecognition"in window?(this.recognition=new(window.SpeechRecognition||window.webkitSpeechRecognition),this.recognition.lang=this.$store.state.config.audio_in_language,this.recognition.interimResults=!0,this.recognition.onstart=()=>{this.isListeningToVoice=!0,this.silenceTimer=setTimeout(()=>{this.recognition.stop()},this.silenceTimeout)},this.recognition.onresult=n=>{let e="";for(let t=n.resultIndex;t{this.recognition.stop()},this.silenceTimeout)},this.recognition.onerror=n=>{console.error("Speech recognition error:",n.error),this.isListeningToVoice=!1,clearTimeout(this.silenceTimer)},this.recognition.onend=()=>{console.log("Speech recognition ended."),this.isListeningToVoice=!1,clearTimeout(this.silenceTimer),this.submit()},this.recognition.start()):console.error("Speech recognition is not supported in this browser.")},onPersonalitiesReadyFun(){this.personalities_ready=!0},onShowPersListFun(n){this.showPersonalities=!this.showPersonalities},handleOnTalk(n){console.log("talking"),this.showPersonalities=!1,this.$store.state.toast.showToast(`Personality ${n.name} is Talking`,4,!0),this.onTalk(n)},onMountFun(n){console.log("Mounting personality"),this.$refs.mountedPers.constructor()},onUnmountFun(n){console.log("Unmounting personality"),this.$refs.mountedPers.constructor()},onRemount(n){console.log("Remounting chat"),this.$refs.mountedPers.constructor()},computedFileSize(n){return Ge(()=>{He.replace()}),os(n)},removeItem(n){console.log("Removing ",n.name),Se.post("/remove_discussion_file",{client_id:this.$store.state.client_id,name:n.name},{headers:this.posts_headers}).then(()=>{this.filesList=this.filesList.filter(e=>e!=n)}),console.log(this.filesList)},sendMessageEvent(n,e="no_internet"){this.$emit("messageSentEvent",n,e)},sendCMDEvent(n){this.$emit("sendCMDEvent",n)},async mountDB(n){await Se.post("/toggle_mount_rag_database",{client_id:this.$store.state.client_id,database_name:n}),await this.$store.dispatch("refreshConfig"),console.log("Refreshed")},addWebLink(){console.log("Emitting addWebLink"),this.$emit("addWebLink")},add_file(){const n=document.createElement("input");n.type="file",n.style.display="none",n.multiple=!0,document.body.appendChild(n),n.addEventListener("change",()=>{console.log("Calling Add file..."),this.addFiles(n.files),document.body.removeChild(n)}),n.click()},takePicture(){Ye.emit("take_picture"),Ye.on("picture_taken",()=>{Se.post("/get_discussion_files_list",{client_id:this.$store.state.client_id}).then(n=>{this.filesList=n.data.files,this.isFileSentList=n.data.files.map(e=>!0),console.log(`Files recovered: ${this.filesList}`)})})},submitOnEnter(n){this.loading||n.which===13&&(n.preventDefault(),n.repeat||(this.sendMessageEvent(this.message),this.message=""))},submit(){this.message&&(this.sendMessageEvent(this.message),this.message="")},submitWithInternetSearch(){this.message&&(this.sendMessageEvent(this.message,"internet"),this.message="")},stopGenerating(){this.$emit("stopGenerating")},addFiles(n){console.log("Adding files");const e=[...n];let t=0;const i=()=>{if(t>=e.length){console.log(`Files_list: ${this.filesList}`);return}const s=e[t];this.filesList.push(s),this.isFileSentList.push(!1),this.send_file(s,()=>{t++,i()})};i()}},watch:{installedModels:{immediate:!0,handler(n){this.$nextTick(()=>{this.installedModels=n})}},model_name:{immediate:!0,handler(n){this.$nextTick(()=>{this.model_name=n})}},showfilesList(){Ge(()=>{He.replace()})},loading(n,e){Ge(()=>{He.replace()})},filesList:{handler(n,e){let t=0;if(n.length>0)for(let i=0;i{He.replace()}),console.log("Chatbar mounted"),Ye.on("rtcom_status_changed",n=>{this.$store.dispatch("fetchisRTOn"),console.log("rtcom_status_changed: ",n.status),console.log("active_tts_service: ",this.$store.state.config.active_tts_service),console.log("is_rt_on: ",this.$store.state.is_rt_on)}),this.$store.dispatch("fetchisRTOn")},activated(){Ge(()=>{He.replace()})}},Pt=n=>(yo("data-v-6b5491a5"),n=n(),vo(),n),f0t={class:"absolute bottom-0 left-0 w-fit min-w-96 w-full justify-center text-center"},m0t={key:0,class:"items-center gap-2 bg-bg-light-panel dark:bg-bg-dark-tone shadow-sm hover:shadow-none dark:border-gray-800 w-fit"},g0t={class:"flex"},b0t=["title"],E0t=Pt(()=>c("i",{"data-feather":"list"},null,-1)),y0t=[E0t],v0t={key:0},S0t={class:"flex flex-col max-h-64"},T0t=["title"],x0t={class:"flex flex-row items-center gap-1 text-left p-2 text-sm font-medium items-center gap-2 rounded-lg border bg-gray-100 p-1.5 shadow-sm hover:shadow-none dark:border-gray-800 dark:bg-gray-700 hover:bg-primary dark:hover:bg-primary"},C0t={key:0,filesList:"",role:"status"},w0t=Pt(()=>c("svg",{"aria-hidden":"true",class:"w-6 h-6 animate-spin fill-secondary",viewBox:"0 0 100 101",fill:"none",xmlns:"http://www.w3.org/2000/svg"},[c("path",{d:"M100 50.5908C100 78.2051 77.6142 100.591 50 100.591C22.3858 100.591 0 78.2051 0 50.5908C0 22.9766 22.3858 0.59082 50 0.59082C77.6142 0.59082 100 22.9766 100 50.5908ZM9.08144 50.5908C9.08144 73.1895 27.4013 91.5094 50 91.5094C72.5987 91.5094 90.9186 73.1895 90.9186 50.5908C90.9186 27.9921 72.5987 9.67226 50 9.67226C27.4013 9.67226 9.08144 27.9921 9.08144 50.5908Z",fill:"currentColor"}),c("path",{d:"M93.9676 39.0409C96.393 38.4038 97.8624 35.9116 97.0079 33.5539C95.2932 28.8227 92.871 24.3692 89.8167 20.348C85.8452 15.1192 80.8826 10.7238 75.2124 7.41289C69.5422 4.10194 63.2754 1.94025 56.7698 1.05124C51.7666 0.367541 46.6976 0.446843 41.7345 1.27873C39.2613 1.69328 37.813 4.19778 38.4501 6.62326C39.0873 9.04874 41.5694 10.4717 44.0505 10.1071C47.8511 9.54855 51.7191 9.52689 55.5402 10.0491C60.8642 10.7766 65.9928 12.5457 70.6331 15.2552C75.2735 17.9648 79.3347 21.5619 82.5849 25.841C84.9175 28.9121 86.7997 32.2913 88.1811 35.8758C89.083 38.2158 91.5421 39.6781 93.9676 39.0409Z",fill:"currentFill"})],-1)),R0t=Pt(()=>c("span",{class:"sr-only"},"Loading...",-1)),A0t=[w0t,R0t],N0t=Pt(()=>c("div",null,[c("i",{"data-feather":"file",class:"w-5 h-5"})],-1)),O0t=Pt(()=>c("div",{class:"grow"},null,-1)),I0t={class:"flex flex-row items-center"},M0t={class:"whitespace-nowrap"},D0t=["onClick"],k0t=Pt(()=>c("i",{"data-feather":"x",class:"w-5 h-5"},null,-1)),L0t=[k0t],P0t={key:1,class:"flex mx-1 w-500"},U0t={class:"whitespace-nowrap flex flex-row gap-2"},F0t=Pt(()=>c("p",{class:"font-bold"}," Total size: ",-1)),B0t=Pt(()=>c("div",{class:"grow"},null,-1)),G0t=Pt(()=>c("i",{"data-feather":"trash",class:"w-5 h-5"},null,-1)),V0t=[G0t],z0t=Pt(()=>c("i",{"data-feather":"download-cloud",class:"w-5 h-5"},null,-1)),H0t=[z0t],q0t={key:2,class:"mx-1"},Y0t={key:1,title:"Selecting model",class:"flex flex-row flex-grow justify-end bg-primary"},$0t={role:"status"},W0t=["src"],K0t=Pt(()=>c("span",{class:"sr-only"},"Selecting model...",-1)),j0t={class:"flex w-fit relative grow w-full"},Q0t={class:"relative text-light-text-panel dark:text-dark-text-panel grow flex h-12.5 cursor-pointer select-none items-center gap-2 bg-bg-light-panel dark:bg-bg-dark-tone p-1 shadow-sm hover:shadow-none dark:border-gray-800",tabindex:"0"},X0t={key:0,title:"Waiting for reply"},Z0t=["src"],J0t=Pt(()=>c("div",{role:"status"},[c("span",{class:"sr-only"},"Loading...")],-1)),eTt={key:1,class:"w-fit group relative"},tTt={class:"hide top-50 hide opacity-0 group-hover:bottom-0 opacity-0 .group-hover:block fixed w-[1000px] group absolute group-hover:opacity-100 transform group-hover:translate-y-[-50px] group-hover:translate-x-[0px] transition-all duration-300"},nTt={class:"w-fit flex-wrap flex bg-white bg-opacity-50 backdrop-blur-md rounded p-4"},iTt=["onMouseover"],sTt={class:"relative"},rTt=["onClick"],oTt=["src","title"],aTt={class:"group items-center flex flex-row"},lTt=["src","title"],cTt={key:2,class:"w-fit group relative"},dTt={class:"hide top-50 hide opacity-0 group-hover:bottom-0 opacity-0 .group-hover:block fixed w-[1000px] group absolute group-hover:opacity-100 transform group-hover:translate-y-[-50px] group-hover:translate-x-[0px] transition-all duration-300"},uTt={class:"w-fit flex-wrap flex bg-white bg-opacity-50 backdrop-blur-md rounded p-4"},pTt=["onMouseover"],_Tt={class:"relative"},hTt=["onClick"],fTt=["src","title"],mTt={class:"group items-center flex flex-row"},gTt=["src","title"],bTt={key:3,class:"w-fit group relative"},ETt={class:"top-50 hide opacity-0 group-hover:bottom-0 .group-hover:block fixed w-[1000px] group absolute group-hover:opacity-100 transform group-hover:translate-y-[-50px] group-hover:translate-x-[0px] transition-all duration-300"},yTt={class:"w-fit flex-wrap flex bg-white bg-opacity-50 backdrop-blur-md rounded p-4"},vTt=["onMouseover"],STt={class:"relative"},TTt=["onClick"],xTt=["src","title"],CTt=["onClick"],wTt=Pt(()=>c("span",{class:"-top-6 -right-6 border-gray-500 absolute active:scale-90 w-7 h-7 hover:scale-150 transition bg-bg-light dark:bg-bg-dark rounded-full border-2",title:"Unmount personality"},[c("svg",{"aria-hidden":"true",class:"top-1 left-1 relative w-5 h-5 text-red-600 hover:text-red-500",fill:"currentColor",viewBox:"0 0 20 20","stroke-width":"1",xmlns:"http://www.w3.org/2000/svg"},[c("path",{"fill-rule":"evenodd",d:"M4.293 4.293a1 1 0 011.414 0L10 8.586l4.293-4.293a1 1 0 111.414 1.414L11.414 10l4.293 4.293a1 1 0 01-1.414 1.414L10 11.414l-4.293 4.293a1 1 0 01-1.414-1.414L8.586 10 4.293 5.707a1 1 0 010-1.414z","clip-rule":"evenodd"})])],-1)),RTt=[wTt],ATt=["onClick"],NTt=Pt(()=>c("span",{class:"-top-9 left-2 border-gray-500 active:scale-90 absolute items-center w-7 h-7 hover:scale-150 transition text-red-200 absolute active:scale-90 bg-bg-light dark:bg-bg-dark rounded-full border-2",title:"Remount"},[c("svg",{xmlns:"http://www.w3.org/2000/svg",class:"top-1 left-1 relative w-4 h-4 text-red-600 hover:text-red-500",viewBox:"0 0 30 30",width:"2",height:"2",fill:"none",stroke:"currentColor","stroke-width":"1","stroke-linecap":"round","stroke-linejoin":"round"},[c("g",{id:"surface1"},[c("path",{style:{},d:"M 16 4 C 10.886719 4 6.617188 7.160156 4.875 11.625 L 6.71875 12.375 C 8.175781 8.640625 11.710938 6 16 6 C 19.242188 6 22.132813 7.589844 23.9375 10 L 20 10 L 20 12 L 27 12 L 27 5 L 25 5 L 25 8.09375 C 22.808594 5.582031 19.570313 4 16 4 Z M 25.28125 19.625 C 23.824219 23.359375 20.289063 26 16 26 C 12.722656 26 9.84375 24.386719 8.03125 22 L 12 22 L 12 20 L 5 20 L 5 27 L 7 27 L 7 23.90625 C 9.1875 26.386719 12.394531 28 16 28 C 21.113281 28 25.382813 24.839844 27.125 20.375 Z "})])])],-1)),OTt=[NTt],ITt=["onClick"],MTt=Pt(()=>c("span",{class:"-top-6 -left-6 border-gray-500 active:scale-90 absolute items-center w-7 h-7 hover:scale-150 transition text-red-200 absolute active:scale-90 bg-bg-light dark:bg-bg-dark rounded-full border-2",title:"Talk"},[c("svg",{xmlns:"http://www.w3.org/2000/svg",class:"top-1 left-1 relative w-4 h-4 text-red-600 hover:text-red-500",viewBox:"0 0 24 24",width:"2",height:"2",fill:"none",stroke:"currentColor","stroke-width":"1","stroke-linecap":"round","stroke-linejoin":"round"},[c("line",{x1:"22",y1:"2",x2:"11",y2:"13"}),c("polygon",{points:"22 2 15 22 11 13 2 9 22 2"})])],-1)),DTt=[MTt],kTt={class:"w-fit"},LTt={class:"w-fit"},PTt={class:"relative grow"},UTt={class:"group relative w-max"},FTt=Pt(()=>c("i",{"data-feather":"send"},null,-1)),BTt=[FTt],GTt=Pt(()=>c("div",{class:"pointer-events-none absolute -top-20 left-1/2 w-max -translate-x-1/2 rounded-md bg-gray-100 p-2 opacity-0 transition-opacity group-hover:opacity-100 dark:bg-gray-800"},[c("p",{class:"max-w-sm text-sm text-gray-800 dark:text-gray-200"},"Sends your message to the AI.")],-1)),VTt={class:"group relative w-max"},zTt=["src"],HTt=Pt(()=>c("div",{class:"pointer-events-none absolute -top-20 left-1/2 w-max -translate-x-1/2 rounded-md bg-gray-100 p-2 opacity-0 transition-opacity group-hover:opacity-100 dark:bg-gray-800"},[c("p",{class:"max-w-sm text-sm text-gray-800 dark:text-gray-200"},"Sends your message to the AI with internet search.")],-1)),qTt={class:"group relative w-max"},YTt=Pt(()=>c("i",{"data-feather":"mic"},null,-1)),$Tt=[YTt],WTt=Pt(()=>c("div",{class:"pointer-events-none absolute -top-20 left-1/2 w-max -translate-x-1/2 rounded-md bg-gray-100 p-2 opacity-0 transition-opacity group-hover:opacity-100 dark:bg-gray-800"},[c("p",{class:"max-w-sm text-sm text-gray-800 dark:text-gray-200"},"Press and talk.")],-1)),KTt={key:5,class:"group relative w-max"},jTt=Pt(()=>c("i",{"data-feather":"mic"},null,-1)),QTt=[jTt],XTt=Pt(()=>c("i",{"data-feather":"mic"},null,-1)),ZTt=[XTt],JTt=Pt(()=>c("div",{class:"pointer-events-none absolute -top-20 left-1/2 w-max -translate-x-1/2 rounded-md bg-gray-100 p-2 opacity-0 transition-opacity group-hover:opacity-100 dark:bg-gray-800"},[c("p",{class:"max-w-sm text-sm text-gray-800 dark:text-gray-200"},"Real time bidirectional audio mode.")],-1)),ext={key:6,class:"group relative w-max"},txt=Pt(()=>c("i",{"data-feather":"file-plus"},null,-1)),nxt=[txt],ixt=Pt(()=>c("div",{class:"pointer-events-none absolute -top-20 left-1/2 w-max -translate-x-1/2 rounded-md bg-gray-100 p-2 opacity-0 transition-opacity group-hover:opacity-100 dark:bg-gray-800"},[c("p",{class:"max-w-sm text-sm text-gray-800 dark:text-gray-200"},"Send File to the AI.")],-1)),sxt={class:"group relative w-max"},rxt=Pt(()=>c("i",{"data-feather":"camera"},null,-1)),oxt=[rxt],axt=Pt(()=>c("div",{class:"pointer-events-none absolute -top-20 left-1/2 w-max -translate-x-1/2 rounded-md bg-gray-100 p-2 opacity-0 transition-opacity group-hover:opacity-100 dark:bg-gray-800"},[c("p",{class:"max-w-sm text-sm text-gray-800 dark:text-gray-200"},"Take a shot from webcam.")],-1)),lxt={class:"group relative w-max"},cxt=Pt(()=>c("i",{"data-feather":"globe"},null,-1)),dxt=[cxt],uxt=Pt(()=>c("div",{class:"pointer-events-none absolute -top-20 left-1/2 w-max -translate-x-1/2 rounded-md bg-gray-100 p-2 opacity-0 transition-opacity group-hover:opacity-100 dark:bg-gray-800"},[c("p",{class:"max-w-sm text-sm text-gray-800 dark:text-gray-200"},"Add a weblink to the discussion.")],-1)),pxt={class:"group relative w-max"},_xt=Pt(()=>c("i",{"data-feather":"message-square"},null,-1)),hxt=[_xt],fxt=Pt(()=>c("div",{class:"pointer-events-none absolute -top-20 left-1/2 w-max -translate-x-1/2 rounded-md bg-gray-100 p-2 opacity-0 transition-opacity group-hover:opacity-100 dark:bg-gray-800"},[c("p",{class:"max-w-sm text-sm text-gray-800 dark:text-gray-200"},"New empty User message.")],-1)),mxt={class:"group relative w-max"},gxt=Pt(()=>c("i",{"data-feather":"message-square"},null,-1)),bxt=[gxt],Ext=Pt(()=>c("div",{class:"pointer-events-none absolute -top-20 left-1/2 w-max -translate-x-1/2 rounded-md bg-gray-100 p-2 opacity-0 transition-opacity group-hover:opacity-100 dark:bg-gray-800"},[c("p",{class:"max-w-sm text-sm text-gray-800 dark:text-gray-200"},"New empty ai message.")],-1)),yxt=Pt(()=>c("div",{class:"ml-auto gap-2"},null,-1));function vxt(n,e,t,i,s,r){const o=mt("MountedPersonalitiesList"),a=mt("MountedPersonalities"),l=mt("PersonalitiesCommands"),u=mt("UniversalForm");return w(),A($e,null,[c("form",null,[c("div",f0t,[s.filesList.length>0||s.showPersonalities?(w(),A("div",m0t,[c("div",g0t,[c("button",{class:"mx-1 w-full text-2xl hover:text-secondary duration-75 flex justify-center hover:bg-bg-light-tone hover:dark:bg-bg-dark-tone rounded-lg",title:s.showfilesList?"Hide file list":"Show file list",type:"button",onClick:e[0]||(e[0]=ge(d=>s.showfilesList=!s.showfilesList,["stop"]))},y0t,8,b0t)]),s.filesList.length>0&&s.showfilesList==!0?(w(),A("div",v0t,[c("div",S0t,[Te(as,{name:"list",tag:"div",class:"flex flex-col flex-grow overflow-y-auto scrollbar-thin scrollbar-track-bg-light scrollbar-thumb-bg-light-tone hover:scrollbar-thumb-primary dark:scrollbar-track-bg-dark dark:scrollbar-thumb-bg-dark-tone dark:hover:scrollbar-thumb-primary active:scrollbar-thumb-secondary"},{default:We(()=>[(w(!0),A($e,null,lt(s.filesList,(d,h)=>(w(),A("div",{key:h+"-"+d.name},[c("div",{class:"m-1",title:d.name},[c("div",x0t,[s.isFileSentList[h]?V("",!0):(w(),A("div",C0t,A0t)),N0t,c("div",{class:ze(["line-clamp-1 w-3/5",s.isFileSentList[h]?"text-green-500":"text-red-200"])},he(d.name),3),O0t,c("div",I0t,[c("p",M0t,he(r.computedFileSize(d.size)),1),c("button",{type:"button",title:"Remove item",class:"flex items-center p-0.5 text-sm rounded-sm hover:text-red-600 active:scale-75",onClick:f=>r.removeItem(d)},L0t,8,D0t)])])],8,T0t)]))),128))]),_:1})])])):V("",!0),s.filesList.length>0?(w(),A("div",P0t,[c("div",U0t,[F0t,et(" "+he(s.totalSize)+" ("+he(s.filesList.length)+") ",1)]),B0t,c("button",{type:"button",title:"Clear all",class:"flex items-center p-0.5 text-sm rounded-sm hover:text-red-600 active:scale-75",onClick:e[1]||(e[1]=(...d)=>r.clear_files&&r.clear_files(...d))},V0t),c("button",{type:"button",title:"Download database",class:"flex items-center p-0.5 text-sm rounded-sm hover:text-red-600 active:scale-75",onClick:e[2]||(e[2]=(...d)=>r.download_files&&r.download_files(...d))},H0t)])):V("",!0),s.showPersonalities?(w(),A("div",q0t,[Te(o,{ref:"mountedPersList",onShowPersList:r.onShowPersListFun,"on-mounted":r.onMountFun,"on-un-mounted":r.onUnmountFun,"on-remounted":n.onRemountFun,"on-talk":r.handleOnTalk,discussionPersonalities:r.allDiscussionPersonalities},null,8,["onShowPersList","on-mounted","on-un-mounted","on-remounted","on-talk","discussionPersonalities"])])):V("",!0)])):V("",!0),s.selecting_model||s.selecting_binding?(w(),A("div",Y0t,[c("div",$0t,[c("img",{src:s.loader_v0,class:"w-50 h-50"},null,8,W0t),K0t])])):V("",!0),c("div",j0t,[c("div",Q0t,[t.loading?(w(),A("div",X0t,[c("img",{src:s.loader_v0},null,8,Z0t),J0t])):V("",!0),t.loading?V("",!0):(w(),A("div",eTt,[c("div",tTt,[c("div",nTt,[(w(!0),A($e,null,lt(r.installedBindings,(d,h)=>(w(),A("div",{class:"w-fit h-fit inset-0 opacity-100",key:h+"-"+d.name,ref_for:!0,ref:"installedBindings",onMouseover:f=>r.showBindingHoveredIn(h),onMouseleave:e[4]||(e[4]=f=>r.showBindingHoveredOut())},[h!=r.binding_name?(w(),A("div",{key:0,class:ze(["items-center flex flex-row relative z-20 hover:-translate-y-8 duration-300",s.bindingHoveredIndex===h?"scale-150":""])},[c("div",sTt,[c("button",{onClick:ge(f=>r.setBinding(d),["prevent"]),class:"w-10 h-10 relative"},[c("img",{src:d.icon?d.icon:s.modelImgPlaceholder,onError:e[3]||(e[3]=(...f)=>s.modelImgPlaceholder&&s.modelImgPlaceholder(...f)),class:ze(["z-50 w-10 h-10 rounded-full object-fill text-red-700 border-2 border-gray-500 active:scale-90",s.bindingHoveredIndex===h?"scale-150 ":""+d.name==r.binding_name?"border-secondary":"border-transparent z-0"]),title:d.name},null,42,oTt)],8,rTt)])],2)):V("",!0)],40,iTt))),128))])]),c("div",aTt,[c("button",{onClick:e[5]||(e[5]=ge(d=>r.showModelConfig(),["prevent"])),class:"w-8 h-8"},[c("img",{src:r.currentBindingIcon,class:"w-8 h-8 rounded-full object-fill text-red-700 border-2 active:scale-90 hover:border-secondary hover:scale-110 hover:-translate-y-1 duration-200",title:r.currentBinding?r.currentBinding.name:"unknown"},null,8,lTt)])])])),t.loading?V("",!0):(w(),A("div",cTt,[c("div",dTt,[c("div",uTt,[(w(!0),A($e,null,lt(r.installedModels,(d,h)=>(w(),A("div",{class:"w-fit h-fit",key:h+"-"+d.name,ref_for:!0,ref:"installedModels",onMouseover:f=>r.showModelHoveredIn(h),onMouseleave:e[7]||(e[7]=f=>r.showModelHoveredOut())},[h!=r.model_name?(w(),A("div",{key:0,class:ze(["items-center flex flex-row relative z-20 hover:-translate-y-8 duration-300",s.modelHoveredIndex===h?"scale-150":""])},[c("div",_Tt,[c("button",{onClick:ge(f=>r.setModel(d),["prevent"]),class:"w-10 h-10 relative"},[c("img",{src:d.icon?d.icon:s.modelImgPlaceholder,onError:e[6]||(e[6]=(...f)=>n.personalityImgPlacehodler&&n.personalityImgPlacehodler(...f)),class:ze(["z-50 w-10 h-10 rounded-full object-fill text-red-700 border-2 border-gray-500 active:scale-90",s.modelHoveredIndex===h?"scale-150 ":""+d.name==r.model_name?"border-secondary":"border-transparent z-0"]),title:d.name},null,42,fTt)],8,hTt)])],2)):V("",!0)],40,pTt))),128))])]),c("div",mTt,[c("button",{onClick:e[8]||(e[8]=ge(d=>r.copyModelName(),["prevent"])),class:"w-8 h-8"},[c("img",{src:r.currentModelIcon,class:"w-8 h-8 rounded-full object-fill text-red-700 border-2 active:scale-90 hover:border-secondary hover:scale-110 hover:-translate-y-1 duration-400",title:r.currentModel?r.currentModel.name:"unknown"},null,8,gTt)])])])),t.loading?V("",!0):(w(),A("div",bTt,[c("div",ETt,[c("div",yTt,[(w(!0),A($e,null,lt(r.mountedPersonalities,(d,h)=>(w(),A("div",{class:"w-fit h-fit inset-0 opacity-100",key:h+"-"+d.name,ref_for:!0,ref:"mountedPersonalities",onMouseover:f=>r.showPersonalityHoveredIn(h),onMouseleave:e[10]||(e[10]=f=>r.showPersonalityHoveredOut())},[h!=r.personality_name?(w(),A("div",{key:0,class:ze(["items-center flex flex-row relative z-20 hover:-translate-y-8 duration-300",s.personalityHoveredIndex===h?"scale-150":""])},[c("div",STt,[c("button",{onClick:ge(f=>r.onPersonalitySelected(d),["prevent"]),class:"w-10 h-10 relative"},[c("img",{src:s.bUrl+d.avatar,onError:e[9]||(e[9]=(...f)=>n.personalityImgPlacehodler&&n.personalityImgPlacehodler(...f)),class:ze(["z-50 w-10 h-10 rounded-full object-fill text-red-700 border-2 border-gray-500 active:scale-90",s.personalityHoveredIndex===h?"scale-150 ":""+this.$store.state.active_personality_id==this.$store.state.personalities.indexOf(d.full_path)?"border-secondary":"border-transparent z-0"]),title:d.name},null,42,xTt)],8,TTt),s.personalityHoveredIndex===h?(w(),A("button",{key:0,onClick:ge(f=>r.unmountPersonality(d),["prevent"])},RTt,8,CTt)):V("",!0),s.personalityHoveredIndex===h?(w(),A("button",{key:1,onClick:ge(f=>r.remount_personality(d),["prevent"])},OTt,8,ATt)):V("",!0),s.personalityHoveredIndex===h?(w(),A("button",{key:2,onClick:ge(f=>r.handleOnTalk(d),["prevent"])},DTt,8,ITt)):V("",!0)])],2)):V("",!0)],40,vTt))),128))])]),Te(a,{ref:"mountedPers",onShowPersList:r.onShowPersListFun,onReady:r.onPersonalitiesReadyFun},null,8,["onShowPersList","onReady"])])),c("div",kTt,[s.personalities_ready&&this.$store.state.mountedPersArr[this.$store.state.config.active_personality_id].commands!=""?(w(),xt(l,{key:0,commandsList:this.$store.state.mountedPersArr[this.$store.state.config.active_personality_id].commands,sendCommand:r.sendCMDEvent,"on-show-toast-message":t.onShowToastMessage,ref:"personalityCMD"},null,8,["commandsList","sendCommand","on-show-toast-message"])):V("",!0)]),c("div",LTt,[r.isDataSourceNamesValid?(w(),xt(l,{key:0,icon:"feather:book",commandsList:r.dataSourceNames,sendCommand:r.mountDB,"on-show-toast-message":t.onShowToastMessage,ref:"databasesList"},null,8,["commandsList","sendCommand","on-show-toast-message"])):V("",!0)]),c("div",PTt,[G(c("textarea",{id:"chat",rows:"1","onUpdate:modelValue":e[11]||(e[11]=d=>s.message=d),title:"Hold SHIFT + ENTER to add new line",onPaste:e[12]||(e[12]=(...d)=>r.handlePaste&&r.handlePaste(...d)),class:"inline-block no-scrollbar p-2.5 w-full text-sm text-gray-900 bg-bg-light rounded-lg border border-gray-300 focus:ring-blue-500 focus:border-blue-500 dark:bg-bg-dark dark:border-gray-600 dark:placeholder-gray-400 dark:text-white dark:focus:ring-blue-500 dark:focus:border-blue-500",placeholder:"Send message...",onKeydown:e[13]||(e[13]=Hs(ge(d=>r.submitOnEnter(d),["exact"]),["enter"]))},`\r - `,544),[[xe,s.message]])]),t.loading?(w(),A("button",{key:4,type:"button",class:"bg-red-500 dark:bg-red-800 hover:bg-red-600 focus:ring-4 focus:ring-blue-300 font-medium rounded-lg text-sm px-5 py-2.5 mr-2 mb-2 dark:hover:bg-bg-dark-tone focus:outline-none dark:focus:ring-blue-800",onClick:e[14]||(e[14]=ge((...d)=>r.stopGenerating&&r.stopGenerating(...d),["stop"]))}," Stop generating ")):V("",!0),c("div",UTt,[t.loading?V("",!0):(w(),A("button",{key:0,type:"button",onClick:e[15]||(e[15]=(...d)=>r.submit&&r.submit(...d)),title:"Send",class:"w-6 text-panel hover:text-secondary duration-75 active:scale-90 cursor-pointer transform transition-transform hover:translate-y-[-5px] active:scale-90"},BTt)),GTt]),c("div",VTt,[t.loading?V("",!0):(w(),A("button",{key:0,type:"button",onClick:e[16]||(e[16]=(...d)=>r.submitWithInternetSearch&&r.submitWithInternetSearch(...d)),title:"Send With internet",class:"w-6 hover:text-secondary duration-75 active:scale-90 cursor-pointer transform transition-transform hover:translate-y-[-5px] active:scale-90"},[c("img",{src:s.sendGlobe,width:"50",height:"50",style:{stroke:"currentColor",fill:"currentColor"}},null,8,zTt)])),HTt]),c("div",qTt,[t.loading?V("",!0):(w(),A("button",{key:0,type:"button",onClick:e[17]||(e[17]=(...d)=>r.startSpeechRecognition&&r.startSpeechRecognition(...d)),class:ze([{"text-red-500":s.isListeningToVoice},"w-6 hover:text-secondary duration-75 active:scale-90 cursor-pointer transform transition-transform hover:translate-y-[-5px] active:scale-90"])},$Tt,2)),WTt]),n.$store.state.config.active_tts_service!="None"?(w(),A("div",KTt,[s.is_rt?(w(),A("button",{key:0,type:"button",onClick:e[18]||(e[18]=(...d)=>r.stopRTCom&&r.stopRTCom(...d)),class:"w-6 hover:text-secondary duration-75 active:scale-90 cursor-pointer transform transition-transform hover:translate-y-[-5px] active:scale-90 bg-red-500 border borderred700 rounded-md"},QTt)):(w(),A("button",{key:1,type:"button",onClick:e[19]||(e[19]=(...d)=>r.startRTCom&&r.startRTCom(...d)),class:"w-6 hover:text-secondary duration-75 active:scale-90 cursor-pointer transform transition-transform hover:translate-y-[-5px] active:scale-90 bg-green-500 border border-green-700 rounded-md"},ZTt)),JTt])):V("",!0),t.loading?V("",!0):(w(),A("div",ext,[c("input",{type:"file",ref:"fileDialog",style:{display:"none"},onChange:e[20]||(e[20]=(...d)=>r.addFiles&&r.addFiles(...d)),multiple:""},null,544),c("button",{type:"button",onClick:e[21]||(e[21]=ge((...d)=>r.add_file&&r.add_file(...d),["prevent"])),class:"w-6 hover:text-secondary duration-75 active:scale-90 cursor-pointer transform transition-transform hover:translate-y-[-5px] active:scale-90"},nxt),ixt])),c("div",sxt,[t.loading?V("",!0):(w(),A("button",{key:0,type:"button",onClick:e[22]||(e[22]=ge((...d)=>r.takePicture&&r.takePicture(...d),["stop"])),class:"w-6 hover:text-secondary duration-75 active:scale-90 cursor-pointer transform transition-transform hover:translate-y-[-5px] active:scale-90"},oxt)),axt]),c("div",lxt,[t.loading?V("",!0):(w(),A("button",{key:0,type:"button",onClick:e[23]||(e[23]=ge((...d)=>r.addWebLink&&r.addWebLink(...d),["stop"])),class:"w-6 hover:text-secondary duration-75 active:scale-90 cursor-pointer transform transition-transform hover:translate-y-[-5px] active:scale-90"},dxt)),uxt]),c("div",pxt,[t.loading?V("",!0):(w(),A("button",{key:0,type:"button",onClick:e[24]||(e[24]=ge((...d)=>r.makeAnEmptyUserMessage&&r.makeAnEmptyUserMessage(...d),["stop"])),class:"w-6 text-gray-800 hover:text-secondary duration-75 active:scale-90 hover:translate-y-[-5px]"},hxt)),fxt]),c("div",mxt,[t.loading?V("",!0):(w(),A("button",{key:0,type:"button",onClick:e[25]||(e[25]=ge((...d)=>r.makeAnEmptyAIMessage&&r.makeAnEmptyAIMessage(...d),["stop"])),class:"w-6 text-red-400 hover:text-secondary duration-75 active:scale-90 hover:translate-y-[-5px]"},bxt)),Ext])]),yxt])])]),Te(u,{ref:"universalForm",class:"z-20"},null,512)],64)}const yO=bt(h0t,[["render",vxt],["__scopeId","data-v-6b5491a5"]]),Sxt={name:"WelcomeComponent",computed:{storeLogo(){return this.$store.state.config?Ti:this.$store.state.config.app_custom_logo!=""?"/user_infos/"+this.$store.state.config.app_custom_logo:Ti}},data(){},setup(){return{}}},Txt={class:"flex flex-col text-center w-full h-full"},xxt={class:"flex flex-col text-center items-center"},Cxt={class:"flex items-center gap-3 text-5xl drop-shadow-md align-middle pt-24"},wxt=["src"],Rxt=c("div",{class:"flex flex-col items-start"},[c("p",{class:"text-2xl"},"LoLLMS"),c("p",{class:"text-gray-400 text-base"},"One tool to rule them all")],-1),Axt=c("hr",{class:"mt-1 w-96 h-1 mx-auto my-2 md:my-2 dark:bg-bg-dark-tone-panel bg-bg-light-tone-panel border-0 rounded"},null,-1),Nxt=c("p",{class:"text-2xl"},"Welcome",-1),Oxt=c("p",{class:"text-lg"},"Please create a new discussion or select existing one to start",-1);function Ixt(n,e,t,i,s,r){return w(),A("div",Txt,[c("div",xxt,[c("div",Cxt,[c("img",{class:"w-12 hover:scale-95 duration-150",title:"LoLLMS WebUI",src:n.$store.state.config==null?r.storeLogo:n.$store.state.config.app_custom_logo!=""?"/user_infos/"+n.$store.state.config.app_custom_logo:r.storeLogo,alt:"Logo"},null,8,wxt),Rxt]),Axt,Nxt,Oxt])])}const vO=bt(Sxt,[["render",Ixt]]);var Mxt=function(){function n(e,t){t===void 0&&(t=[]),this._eventType=e,this._eventFunctions=t}return n.prototype.init=function(){var e=this;this._eventFunctions.forEach(function(t){typeof window<"u"&&window.addEventListener(e._eventType,t)})},n}(),iu=globalThis&&globalThis.__assign||function(){return iu=Object.assign||function(n){for(var e,t=1,i=arguments.length;t"u")return!1;var e=ai(n).ShadowRoot;return n instanceof e||n instanceof ShadowRoot}function Yxt(n){var e=n.state;Object.keys(e.elements).forEach(function(t){var i=e.styles[t]||{},s=e.attributes[t]||{},r=e.elements[t];!xi(r)||!us(r)||(Object.assign(r.style,i),Object.keys(s).forEach(function(o){var a=s[o];a===!1?r.removeAttribute(o):r.setAttribute(o,a===!0?"":a)}))})}function $xt(n){var e=n.state,t={popper:{position:e.options.strategy,left:"0",top:"0",margin:"0"},arrow:{position:"absolute"},reference:{}};return Object.assign(e.elements.popper.style,t.popper),e.styles=t,e.elements.arrow&&Object.assign(e.elements.arrow.style,t.arrow),function(){Object.keys(e.elements).forEach(function(i){var s=e.elements[i],r=e.attributes[i]||{},o=Object.keys(e.styles.hasOwnProperty(i)?e.styles[i]:t[i]),a=o.reduce(function(l,u){return l[u]="",l},{});!xi(s)||!us(s)||(Object.assign(s.style,a),Object.keys(r).forEach(function(l){s.removeAttribute(l)}))})}}const Wxt={name:"applyStyles",enabled:!0,phase:"write",fn:Yxt,effect:$xt,requires:["computeStyles"]};function ls(n){return n.split("-")[0]}var ro=Math.max,au=Math.min,ya=Math.round;function tb(){var n=navigator.userAgentData;return n!=null&&n.brands&&Array.isArray(n.brands)?n.brands.map(function(e){return e.brand+"/"+e.version}).join(" "):navigator.userAgent}function AO(){return!/^((?!chrome|android).)*safari/i.test(tb())}function va(n,e,t){e===void 0&&(e=!1),t===void 0&&(t=!1);var i=n.getBoundingClientRect(),s=1,r=1;e&&xi(n)&&(s=n.offsetWidth>0&&ya(i.width)/n.offsetWidth||1,r=n.offsetHeight>0&&ya(i.height)/n.offsetHeight||1);var o=ho(n)?ai(n):window,a=o.visualViewport,l=!AO()&&t,u=(i.left+(l&&a?a.offsetLeft:0))/s,d=(i.top+(l&&a?a.offsetTop:0))/r,h=i.width/s,f=i.height/r;return{width:h,height:f,top:d,right:u+h,bottom:d+f,left:u,x:u,y:d}}function LE(n){var e=va(n),t=n.offsetWidth,i=n.offsetHeight;return Math.abs(e.width-t)<=1&&(t=e.width),Math.abs(e.height-i)<=1&&(i=e.height),{x:n.offsetLeft,y:n.offsetTop,width:t,height:i}}function NO(n,e){var t=e.getRootNode&&e.getRootNode();if(n.contains(e))return!0;if(t&&kE(t)){var i=e;do{if(i&&n.isSameNode(i))return!0;i=i.parentNode||i.host}while(i)}return!1}function qs(n){return ai(n).getComputedStyle(n)}function Kxt(n){return["table","td","th"].indexOf(us(n))>=0}function Or(n){return((ho(n)?n.ownerDocument:n.document)||window.document).documentElement}function lp(n){return us(n)==="html"?n:n.assignedSlot||n.parentNode||(kE(n)?n.host:null)||Or(n)}function DC(n){return!xi(n)||qs(n).position==="fixed"?null:n.offsetParent}function jxt(n){var e=/firefox/i.test(tb()),t=/Trident/i.test(tb());if(t&&xi(n)){var i=qs(n);if(i.position==="fixed")return null}var s=lp(n);for(kE(s)&&(s=s.host);xi(s)&&["html","body"].indexOf(us(s))<0;){var r=qs(s);if(r.transform!=="none"||r.perspective!=="none"||r.contain==="paint"||["transform","perspective"].indexOf(r.willChange)!==-1||e&&r.willChange==="filter"||e&&r.filter&&r.filter!=="none")return s;s=s.parentNode}return null}function yc(n){for(var e=ai(n),t=DC(n);t&&Kxt(t)&&qs(t).position==="static";)t=DC(t);return t&&(us(t)==="html"||us(t)==="body"&&qs(t).position==="static")?e:t||jxt(n)||e}function PE(n){return["top","bottom"].indexOf(n)>=0?"x":"y"}function kl(n,e,t){return ro(n,au(e,t))}function Qxt(n,e,t){var i=kl(n,e,t);return i>t?t:i}function OO(){return{top:0,right:0,bottom:0,left:0}}function IO(n){return Object.assign({},OO(),n)}function MO(n,e){return e.reduce(function(t,i){return t[i]=n,t},{})}var Xxt=function(e,t){return e=typeof e=="function"?e(Object.assign({},t.rects,{placement:t.placement})):e,IO(typeof e!="number"?e:MO(e,Ec))};function Zxt(n){var e,t=n.state,i=n.name,s=n.options,r=t.elements.arrow,o=t.modifiersData.popperOffsets,a=ls(t.placement),l=PE(a),u=[Xn,Ai].indexOf(a)>=0,d=u?"height":"width";if(!(!r||!o)){var h=Xxt(s.padding,t),f=LE(r),_=l==="y"?Qn:Xn,m=l==="y"?Ri:Ai,E=t.rects.reference[d]+t.rects.reference[l]-o[l]-t.rects.popper[d],b=o[l]-t.rects.reference[l],g=yc(r),y=g?l==="y"?g.clientHeight||0:g.clientWidth||0:0,v=E/2-b/2,S=h[_],C=y-f[d]-h[m],T=y/2-f[d]/2+v,O=kl(S,T,C),k=l;t.modifiersData[i]=(e={},e[k]=O,e.centerOffset=O-T,e)}}function Jxt(n){var e=n.state,t=n.options,i=t.element,s=i===void 0?"[data-popper-arrow]":i;s!=null&&(typeof s=="string"&&(s=e.elements.popper.querySelector(s),!s)||NO(e.elements.popper,s)&&(e.elements.arrow=s))}const eCt={name:"arrow",enabled:!0,phase:"main",fn:Zxt,effect:Jxt,requires:["popperOffsets"],requiresIfExists:["preventOverflow"]};function Sa(n){return n.split("-")[1]}var tCt={top:"auto",right:"auto",bottom:"auto",left:"auto"};function nCt(n,e){var t=n.x,i=n.y,s=e.devicePixelRatio||1;return{x:ya(t*s)/s||0,y:ya(i*s)/s||0}}function kC(n){var e,t=n.popper,i=n.popperRect,s=n.placement,r=n.variation,o=n.offsets,a=n.position,l=n.gpuAcceleration,u=n.adaptive,d=n.roundOffsets,h=n.isFixed,f=o.x,_=f===void 0?0:f,m=o.y,E=m===void 0?0:m,b=typeof d=="function"?d({x:_,y:E}):{x:_,y:E};_=b.x,E=b.y;var g=o.hasOwnProperty("x"),y=o.hasOwnProperty("y"),v=Xn,S=Qn,C=window;if(u){var T=yc(t),O="clientHeight",k="clientWidth";if(T===ai(t)&&(T=Or(t),qs(T).position!=="static"&&a==="absolute"&&(O="scrollHeight",k="scrollWidth")),T=T,s===Qn||(s===Xn||s===Ai)&&r===ic){S=Ri;var x=h&&T===C&&C.visualViewport?C.visualViewport.height:T[O];E-=x-i.height,E*=l?1:-1}if(s===Xn||(s===Qn||s===Ri)&&r===ic){v=Ai;var I=h&&T===C&&C.visualViewport?C.visualViewport.width:T[k];_-=I-i.width,_*=l?1:-1}}var F=Object.assign({position:a},u&&tCt),B=d===!0?nCt({x:_,y:E},ai(t)):{x:_,y:E};if(_=B.x,E=B.y,l){var ne;return Object.assign({},F,(ne={},ne[S]=y?"0":"",ne[v]=g?"0":"",ne.transform=(C.devicePixelRatio||1)<=1?"translate("+_+"px, "+E+"px)":"translate3d("+_+"px, "+E+"px, 0)",ne))}return Object.assign({},F,(e={},e[S]=y?E+"px":"",e[v]=g?_+"px":"",e.transform="",e))}function iCt(n){var e=n.state,t=n.options,i=t.gpuAcceleration,s=i===void 0?!0:i,r=t.adaptive,o=r===void 0?!0:r,a=t.roundOffsets,l=a===void 0?!0:a,u={placement:ls(e.placement),variation:Sa(e.placement),popper:e.elements.popper,popperRect:e.rects.popper,gpuAcceleration:s,isFixed:e.options.strategy==="fixed"};e.modifiersData.popperOffsets!=null&&(e.styles.popper=Object.assign({},e.styles.popper,kC(Object.assign({},u,{offsets:e.modifiersData.popperOffsets,position:e.options.strategy,adaptive:o,roundOffsets:l})))),e.modifiersData.arrow!=null&&(e.styles.arrow=Object.assign({},e.styles.arrow,kC(Object.assign({},u,{offsets:e.modifiersData.arrow,position:"absolute",adaptive:!1,roundOffsets:l})))),e.attributes.popper=Object.assign({},e.attributes.popper,{"data-popper-placement":e.placement})}const sCt={name:"computeStyles",enabled:!0,phase:"beforeWrite",fn:iCt,data:{}};var qc={passive:!0};function rCt(n){var e=n.state,t=n.instance,i=n.options,s=i.scroll,r=s===void 0?!0:s,o=i.resize,a=o===void 0?!0:o,l=ai(e.elements.popper),u=[].concat(e.scrollParents.reference,e.scrollParents.popper);return r&&u.forEach(function(d){d.addEventListener("scroll",t.update,qc)}),a&&l.addEventListener("resize",t.update,qc),function(){r&&u.forEach(function(d){d.removeEventListener("scroll",t.update,qc)}),a&&l.removeEventListener("resize",t.update,qc)}}const oCt={name:"eventListeners",enabled:!0,phase:"write",fn:function(){},effect:rCt,data:{}};var aCt={left:"right",right:"left",bottom:"top",top:"bottom"};function Fd(n){return n.replace(/left|right|bottom|top/g,function(e){return aCt[e]})}var lCt={start:"end",end:"start"};function LC(n){return n.replace(/start|end/g,function(e){return lCt[e]})}function UE(n){var e=ai(n),t=e.pageXOffset,i=e.pageYOffset;return{scrollLeft:t,scrollTop:i}}function FE(n){return va(Or(n)).left+UE(n).scrollLeft}function cCt(n,e){var t=ai(n),i=Or(n),s=t.visualViewport,r=i.clientWidth,o=i.clientHeight,a=0,l=0;if(s){r=s.width,o=s.height;var u=AO();(u||!u&&e==="fixed")&&(a=s.offsetLeft,l=s.offsetTop)}return{width:r,height:o,x:a+FE(n),y:l}}function dCt(n){var e,t=Or(n),i=UE(n),s=(e=n.ownerDocument)==null?void 0:e.body,r=ro(t.scrollWidth,t.clientWidth,s?s.scrollWidth:0,s?s.clientWidth:0),o=ro(t.scrollHeight,t.clientHeight,s?s.scrollHeight:0,s?s.clientHeight:0),a=-i.scrollLeft+FE(n),l=-i.scrollTop;return qs(s||t).direction==="rtl"&&(a+=ro(t.clientWidth,s?s.clientWidth:0)-r),{width:r,height:o,x:a,y:l}}function BE(n){var e=qs(n),t=e.overflow,i=e.overflowX,s=e.overflowY;return/auto|scroll|overlay|hidden/.test(t+s+i)}function DO(n){return["html","body","#document"].indexOf(us(n))>=0?n.ownerDocument.body:xi(n)&&BE(n)?n:DO(lp(n))}function Ll(n,e){var t;e===void 0&&(e=[]);var i=DO(n),s=i===((t=n.ownerDocument)==null?void 0:t.body),r=ai(i),o=s?[r].concat(r.visualViewport||[],BE(i)?i:[]):i,a=e.concat(o);return s?a:a.concat(Ll(lp(o)))}function nb(n){return Object.assign({},n,{left:n.x,top:n.y,right:n.x+n.width,bottom:n.y+n.height})}function uCt(n,e){var t=va(n,!1,e==="fixed");return t.top=t.top+n.clientTop,t.left=t.left+n.clientLeft,t.bottom=t.top+n.clientHeight,t.right=t.left+n.clientWidth,t.width=n.clientWidth,t.height=n.clientHeight,t.x=t.left,t.y=t.top,t}function PC(n,e,t){return e===wO?nb(cCt(n,t)):ho(e)?uCt(e,t):nb(dCt(Or(n)))}function pCt(n){var e=Ll(lp(n)),t=["absolute","fixed"].indexOf(qs(n).position)>=0,i=t&&xi(n)?yc(n):n;return ho(i)?e.filter(function(s){return ho(s)&&NO(s,i)&&us(s)!=="body"}):[]}function _Ct(n,e,t,i){var s=e==="clippingParents"?pCt(n):[].concat(e),r=[].concat(s,[t]),o=r[0],a=r.reduce(function(l,u){var d=PC(n,u,i);return l.top=ro(d.top,l.top),l.right=au(d.right,l.right),l.bottom=au(d.bottom,l.bottom),l.left=ro(d.left,l.left),l},PC(n,o,i));return a.width=a.right-a.left,a.height=a.bottom-a.top,a.x=a.left,a.y=a.top,a}function kO(n){var e=n.reference,t=n.element,i=n.placement,s=i?ls(i):null,r=i?Sa(i):null,o=e.x+e.width/2-t.width/2,a=e.y+e.height/2-t.height/2,l;switch(s){case Qn:l={x:o,y:e.y-t.height};break;case Ri:l={x:o,y:e.y+e.height};break;case Ai:l={x:e.x+e.width,y:a};break;case Xn:l={x:e.x-t.width,y:a};break;default:l={x:e.x,y:e.y}}var u=s?PE(s):null;if(u!=null){var d=u==="y"?"height":"width";switch(r){case Ea:l[u]=l[u]-(e[d]/2-t[d]/2);break;case ic:l[u]=l[u]+(e[d]/2-t[d]/2);break}}return l}function sc(n,e){e===void 0&&(e={});var t=e,i=t.placement,s=i===void 0?n.placement:i,r=t.strategy,o=r===void 0?n.strategy:r,a=t.boundary,l=a===void 0?Dxt:a,u=t.rootBoundary,d=u===void 0?wO:u,h=t.elementContext,f=h===void 0?hl:h,_=t.altBoundary,m=_===void 0?!1:_,E=t.padding,b=E===void 0?0:E,g=IO(typeof b!="number"?b:MO(b,Ec)),y=f===hl?kxt:hl,v=n.rects.popper,S=n.elements[m?y:f],C=_Ct(ho(S)?S:S.contextElement||Or(n.elements.popper),l,d,o),T=va(n.elements.reference),O=kO({reference:T,element:v,strategy:"absolute",placement:s}),k=nb(Object.assign({},v,O)),x=f===hl?k:T,I={top:C.top-x.top+g.top,bottom:x.bottom-C.bottom+g.bottom,left:C.left-x.left+g.left,right:x.right-C.right+g.right},F=n.modifiersData.offset;if(f===hl&&F){var B=F[s];Object.keys(I).forEach(function(ne){var L=[Ai,Ri].indexOf(ne)>=0?1:-1,$=[Qn,Ri].indexOf(ne)>=0?"y":"x";I[ne]+=B[$]*L})}return I}function hCt(n,e){e===void 0&&(e={});var t=e,i=t.placement,s=t.boundary,r=t.rootBoundary,o=t.padding,a=t.flipVariations,l=t.allowedAutoPlacements,u=l===void 0?RO:l,d=Sa(i),h=d?a?MC:MC.filter(function(m){return Sa(m)===d}):Ec,f=h.filter(function(m){return u.indexOf(m)>=0});f.length===0&&(f=h);var _=f.reduce(function(m,E){return m[E]=sc(n,{placement:E,boundary:s,rootBoundary:r,padding:o})[ls(E)],m},{});return Object.keys(_).sort(function(m,E){return _[m]-_[E]})}function fCt(n){if(ls(n)===DE)return[];var e=Fd(n);return[LC(n),e,LC(e)]}function mCt(n){var e=n.state,t=n.options,i=n.name;if(!e.modifiersData[i]._skip){for(var s=t.mainAxis,r=s===void 0?!0:s,o=t.altAxis,a=o===void 0?!0:o,l=t.fallbackPlacements,u=t.padding,d=t.boundary,h=t.rootBoundary,f=t.altBoundary,_=t.flipVariations,m=_===void 0?!0:_,E=t.allowedAutoPlacements,b=e.options.placement,g=ls(b),y=g===b,v=l||(y||!m?[Fd(b)]:fCt(b)),S=[b].concat(v).reduce(function(Ee,Ce){return Ee.concat(ls(Ce)===DE?hCt(e,{placement:Ce,boundary:d,rootBoundary:h,padding:u,flipVariations:m,allowedAutoPlacements:E}):Ce)},[]),C=e.rects.reference,T=e.rects.popper,O=new Map,k=!0,x=S[0],I=0;I=0,$=L?"width":"height",H=sc(e,{placement:F,boundary:d,rootBoundary:h,altBoundary:f,padding:u}),U=L?ne?Ai:Xn:ne?Ri:Qn;C[$]>T[$]&&(U=Fd(U));var Q=Fd(U),J=[];if(r&&J.push(H[B]<=0),a&&J.push(H[U]<=0,H[Q]<=0),J.every(function(Ee){return Ee})){x=F,k=!1;break}O.set(F,J)}if(k)for(var j=m?3:1,ae=function(Ce){var Me=S.find(function(Z){var ye=O.get(Z);if(ye)return ye.slice(0,Ce).every(function(fe){return fe})});if(Me)return x=Me,"break"},ve=j;ve>0;ve--){var ee=ae(ve);if(ee==="break")break}e.placement!==x&&(e.modifiersData[i]._skip=!0,e.placement=x,e.reset=!0)}}const gCt={name:"flip",enabled:!0,phase:"main",fn:mCt,requiresIfExists:["offset"],data:{_skip:!1}};function UC(n,e,t){return t===void 0&&(t={x:0,y:0}),{top:n.top-e.height-t.y,right:n.right-e.width+t.x,bottom:n.bottom-e.height+t.y,left:n.left-e.width-t.x}}function FC(n){return[Qn,Ai,Ri,Xn].some(function(e){return n[e]>=0})}function bCt(n){var e=n.state,t=n.name,i=e.rects.reference,s=e.rects.popper,r=e.modifiersData.preventOverflow,o=sc(e,{elementContext:"reference"}),a=sc(e,{altBoundary:!0}),l=UC(o,i),u=UC(a,s,r),d=FC(l),h=FC(u);e.modifiersData[t]={referenceClippingOffsets:l,popperEscapeOffsets:u,isReferenceHidden:d,hasPopperEscaped:h},e.attributes.popper=Object.assign({},e.attributes.popper,{"data-popper-reference-hidden":d,"data-popper-escaped":h})}const ECt={name:"hide",enabled:!0,phase:"main",requiresIfExists:["preventOverflow"],fn:bCt};function yCt(n,e,t){var i=ls(n),s=[Xn,Qn].indexOf(i)>=0?-1:1,r=typeof t=="function"?t(Object.assign({},e,{placement:n})):t,o=r[0],a=r[1];return o=o||0,a=(a||0)*s,[Xn,Ai].indexOf(i)>=0?{x:a,y:o}:{x:o,y:a}}function vCt(n){var e=n.state,t=n.options,i=n.name,s=t.offset,r=s===void 0?[0,0]:s,o=RO.reduce(function(d,h){return d[h]=yCt(h,e.rects,r),d},{}),a=o[e.placement],l=a.x,u=a.y;e.modifiersData.popperOffsets!=null&&(e.modifiersData.popperOffsets.x+=l,e.modifiersData.popperOffsets.y+=u),e.modifiersData[i]=o}const SCt={name:"offset",enabled:!0,phase:"main",requires:["popperOffsets"],fn:vCt};function TCt(n){var e=n.state,t=n.name;e.modifiersData[t]=kO({reference:e.rects.reference,element:e.rects.popper,strategy:"absolute",placement:e.placement})}const xCt={name:"popperOffsets",enabled:!0,phase:"read",fn:TCt,data:{}};function CCt(n){return n==="x"?"y":"x"}function wCt(n){var e=n.state,t=n.options,i=n.name,s=t.mainAxis,r=s===void 0?!0:s,o=t.altAxis,a=o===void 0?!1:o,l=t.boundary,u=t.rootBoundary,d=t.altBoundary,h=t.padding,f=t.tether,_=f===void 0?!0:f,m=t.tetherOffset,E=m===void 0?0:m,b=sc(e,{boundary:l,rootBoundary:u,padding:h,altBoundary:d}),g=ls(e.placement),y=Sa(e.placement),v=!y,S=PE(g),C=CCt(S),T=e.modifiersData.popperOffsets,O=e.rects.reference,k=e.rects.popper,x=typeof E=="function"?E(Object.assign({},e.rects,{placement:e.placement})):E,I=typeof x=="number"?{mainAxis:x,altAxis:x}:Object.assign({mainAxis:0,altAxis:0},x),F=e.modifiersData.offset?e.modifiersData.offset[e.placement]:null,B={x:0,y:0};if(T){if(r){var ne,L=S==="y"?Qn:Xn,$=S==="y"?Ri:Ai,H=S==="y"?"height":"width",U=T[S],Q=U+b[L],J=U-b[$],j=_?-k[H]/2:0,ae=y===Ea?O[H]:k[H],ve=y===Ea?-k[H]:-O[H],ee=e.elements.arrow,Ee=_&&ee?LE(ee):{width:0,height:0},Ce=e.modifiersData["arrow#persistent"]?e.modifiersData["arrow#persistent"].padding:OO(),Me=Ce[L],Z=Ce[$],ye=kl(0,O[H],Ee[H]),fe=v?O[H]/2-j-ye-Me-I.mainAxis:ae-ye-Me-I.mainAxis,Ne=v?-O[H]/2+j+ye+Z+I.mainAxis:ve+ye+Z+I.mainAxis,Le=e.elements.arrow&&yc(e.elements.arrow),D=Le?S==="y"?Le.clientTop||0:Le.clientLeft||0:0,q=(ne=F==null?void 0:F[S])!=null?ne:0,K=U+fe-q-D,de=U+Ne-q,le=kl(_?au(Q,K):Q,U,_?ro(J,de):J);T[S]=le,B[S]=le-U}if(a){var Re,Ie=S==="x"?Qn:Xn,z=S==="x"?Ri:Ai,pe=T[C],re=C==="y"?"height":"width",ce=pe+b[Ie],M=pe-b[z],N=[Qn,Xn].indexOf(g)!==-1,W=(Re=F==null?void 0:F[C])!=null?Re:0,ue=N?ce:pe-O[re]-k[re]-W+I.altAxis,X=N?pe+O[re]+k[re]-W-I.altAxis:M,ie=_&&N?Qxt(ue,pe,X):kl(_?ue:ce,pe,_?X:M);T[C]=ie,B[C]=ie-pe}e.modifiersData[i]=B}}const RCt={name:"preventOverflow",enabled:!0,phase:"main",fn:wCt,requiresIfExists:["offset"]};function ACt(n){return{scrollLeft:n.scrollLeft,scrollTop:n.scrollTop}}function NCt(n){return n===ai(n)||!xi(n)?UE(n):ACt(n)}function OCt(n){var e=n.getBoundingClientRect(),t=ya(e.width)/n.offsetWidth||1,i=ya(e.height)/n.offsetHeight||1;return t!==1||i!==1}function ICt(n,e,t){t===void 0&&(t=!1);var i=xi(e),s=xi(e)&&OCt(e),r=Or(e),o=va(n,s,t),a={scrollLeft:0,scrollTop:0},l={x:0,y:0};return(i||!i&&!t)&&((us(e)!=="body"||BE(r))&&(a=NCt(e)),xi(e)?(l=va(e,!0),l.x+=e.clientLeft,l.y+=e.clientTop):r&&(l.x=FE(r))),{x:o.left+a.scrollLeft-l.x,y:o.top+a.scrollTop-l.y,width:o.width,height:o.height}}function MCt(n){var e=new Map,t=new Set,i=[];n.forEach(function(r){e.set(r.name,r)});function s(r){t.add(r.name);var o=[].concat(r.requires||[],r.requiresIfExists||[]);o.forEach(function(a){if(!t.has(a)){var l=e.get(a);l&&s(l)}}),i.push(r)}return n.forEach(function(r){t.has(r.name)||s(r)}),i}function DCt(n){var e=MCt(n);return qxt.reduce(function(t,i){return t.concat(e.filter(function(s){return s.phase===i}))},[])}function kCt(n){var e;return function(){return e||(e=new Promise(function(t){Promise.resolve().then(function(){e=void 0,t(n())})})),e}}function LCt(n){var e=n.reduce(function(t,i){var s=t[i.name];return t[i.name]=s?Object.assign({},s,i,{options:Object.assign({},s.options,i.options),data:Object.assign({},s.data,i.data)}):i,t},{});return Object.keys(e).map(function(t){return e[t]})}var BC={placement:"bottom",modifiers:[],strategy:"absolute"};function GC(){for(var n=arguments.length,e=new Array(n),t=0;t(yo("data-v-3268bea4"),n=n(),vo(),n),qCt={key:0,class:"fixed top-0 left-0 w-screen h-screen flex items-center justify-center"},YCt={class:"flex flex-col text-center"},$Ct={class:"flex flex-col text-center items-center"},WCt={class:"flex items-center gap-3 text-5xl drop-shadow-md align-middle pt-24"},KCt=Ft(()=>c("img",{class:"w-24 animate-bounce",title:"LoLLMS WebUI",src:Ti,alt:"Logo"},null,-1)),jCt={class:"flex flex-col items-start"},QCt={class:"text-2xl font-bold text-5xl drop-shadow-md align-middle"},XCt=Ft(()=>c("p",{class:"text-gray-400 text-base"},"One tool to rule them all",-1)),ZCt=Ft(()=>c("p",{class:"text-gray-400 text-base"},"by ParisNeo",-1)),JCt=Ft(()=>c("hr",{class:"mt-1 w-96 h-1 mx-auto my-2 md:my-2 dark:bg-bg-dark-tone-panel bg-bg-light-tone-panel border-0 rounded"},null,-1)),e1t=Ft(()=>c("p",{class:"text-2xl mb-10 font-bold drop-shadow-md"},"Welcome",-1)),t1t={role:"status",class:"text-center w-full display: flex; flex-row align-items: center;"},n1t={class:"text-2xl animate-pulse mt-2"},i1t=Ft(()=>c("i",{"data-feather":"chevron-right"},null,-1)),s1t=[i1t],r1t=Ft(()=>c("i",{"data-feather":"chevron-left"},null,-1)),o1t=[r1t],a1t=Fu('',1),l1t=[a1t],c1t={key:0,class:"relative flex flex-col no-scrollbar shadow-lg min-w-[24rem] max-w-[24rem] bg-bg-light-tone dark:bg-bg-dark-tone"},d1t={class:"text-light-text-panel dark:text-dark-text-panel bg-bg-light-panel sticky z-10 top-0 dark:bg-bg-dark-tone shadow-md"},u1t={class:"flex-row p-4 flex items-center gap-3 flex-0"},p1t=Ft(()=>c("i",{"data-feather":"plus"},null,-1)),_1t=[p1t],h1t=Ft(()=>c("i",{"data-feather":"check-square"},null,-1)),f1t=[h1t],m1t={class:"text-2xl hover:text-secondary duration-75 active:scale-90",title:"Reset database, remove all discussions"},g1t=Ft(()=>c("i",{"data-feather":"database"},null,-1)),b1t=[g1t],E1t=Ft(()=>c("i",{"data-feather":"log-in"},null,-1)),y1t=[E1t],v1t=Ft(()=>c("i",{"data-feather":"folder"},null,-1)),S1t=[v1t],T1t={key:1,class:"dropdown"},x1t=Ft(()=>c("i",{"data-feather":"search"},null,-1)),C1t=[x1t],w1t={key:2,class:"flex gap-3 flex-1 items-center duration-75"},R1t=Ft(()=>c("i",{"data-feather":"x"},null,-1)),A1t=[R1t],N1t=Ft(()=>c("i",{"data-feather":"check"},null,-1)),O1t=[N1t],I1t=Ft(()=>c("i",{"data-feather":"hard-drive"},null,-1)),M1t=[I1t],D1t=Ft(()=>c("i",{"data-feather":"check-circle"},null,-1)),k1t=[D1t],L1t=Ft(()=>c("i",{"data-feather":"x-octagon"},null,-1)),P1t=[L1t],U1t=Ft(()=>c("i",{"data-feather":"book"},null,-1)),F1t=[U1t],B1t={key:7,title:"Loading..",class:"flex flex-row flex-grow justify-end"},G1t=Ft(()=>c("div",{role:"status"},[c("svg",{"aria-hidden":"true",class:"w-6 h-6 animate-spin fill-secondary",viewBox:"0 0 100 101",fill:"none",xmlns:"http://www.w3.org/2000/svg"},[c("path",{d:"M100 50.5908C100 78.2051 77.6142 100.591 50 100.591C22.3858 100.591 0 78.2051 0 50.5908C0 22.9766 22.3858 0.59082 50 0.59082C77.6142 0.59082 100 22.9766 100 50.5908ZM9.08144 50.5908C9.08144 73.1895 27.4013 91.5094 50 91.5094C72.5987 91.5094 90.9186 73.1895 90.9186 50.5908C90.9186 27.9921 72.5987 9.67226 50 9.67226C27.4013 9.67226 9.08144 27.9921 9.08144 50.5908Z",fill:"currentColor"}),c("path",{d:"M93.9676 39.0409C96.393 38.4038 97.8624 35.9116 97.0079 33.5539C95.2932 28.8227 92.871 24.3692 89.8167 20.348C85.8452 15.1192 80.8826 10.7238 75.2124 7.41289C69.5422 4.10194 63.2754 1.94025 56.7698 1.05124C51.7666 0.367541 46.6976 0.446843 41.7345 1.27873C39.2613 1.69328 37.813 4.19778 38.4501 6.62326C39.0873 9.04874 41.5694 10.4717 44.0505 10.1071C47.8511 9.54855 51.7191 9.52689 55.5402 10.0491C60.8642 10.7766 65.9928 12.5457 70.6331 15.2552C75.2735 17.9648 79.3347 21.5619 82.5849 25.841C84.9175 28.9121 86.7997 32.2913 88.1811 35.8758C89.083 38.2158 91.5421 39.6781 93.9676 39.0409Z",fill:"currentFill"})]),c("span",{class:"sr-only"},"Loading...")],-1)),V1t=[G1t],z1t={key:0,class:"flex-row items-center gap-3 flex-0 w-full"},H1t={class:"p-4 pt-2"},q1t={class:"relative"},Y1t=Ft(()=>c("div",{class:"absolute inset-y-0 left-0 flex items-center pl-3 pointer-events-none"},[c("div",{class:"scale-75"},[c("i",{"data-feather":"search"})])],-1)),$1t={class:"absolute inset-y-0 right-0 flex items-center pr-3"},W1t=Ft(()=>c("i",{"data-feather":"x"},null,-1)),K1t=[W1t],j1t={key:1,class:"h-px bg-bg-light p-0 mb-4 px-4 mx-4 border-0 dark:bg-bg-dark"},Q1t={key:2,class:"flex flex-row flex-grow p-4 pt-0 items-center"},X1t={class:"flex flex-row flex-grow"},Z1t={key:0},J1t={class:"flex flex-row"},ewt={key:0,class:"flex gap-3"},twt=Ft(()=>c("i",{"data-feather":"trash"},null,-1)),nwt=[twt],iwt={key:1,class:"flex gap-3 mx-3 flex-1 items-center justify-end group-hover:visible duration-75"},swt=Ft(()=>c("i",{"data-feather":"check"},null,-1)),rwt=[swt],owt=Ft(()=>c("i",{"data-feather":"x"},null,-1)),awt=[owt],lwt={class:"flex gap-3"},cwt=Ft(()=>c("i",{"data-feather":"codepen"},null,-1)),dwt=[cwt],uwt=Ft(()=>c("i",{"data-feather":"folder"},null,-1)),pwt=[uwt],_wt=Ft(()=>c("i",{"data-feather":"bookmark"},null,-1)),hwt=[_wt],fwt=Ft(()=>c("i",{"data-feather":"list"},null,-1)),mwt=[fwt],gwt={class:"relative flex flex-row flex-grow mb-10 z-0 w-full"},bwt={key:1,class:"gap-2 py-2 my-2 hover:shadow-md hover:bg-primary-light dark:hover:bg-primary rounded-md p-2 duration-75 group cursor-pointer"},Ewt=Ft(()=>c("p",{class:"px-3"},"No discussions are found",-1)),ywt=[Ewt],vwt=Ft(()=>c("div",{class:"sticky bottom-0 bg-gradient-to-t pointer-events-none from-bg-light-tone dark:from-bg-dark-tone flex flex-grow"},null,-1)),Swt={class:"text-center font-large font-bold text-l drop-shadow-md align-middle"},Twt={key:2,class:"relative flex flex-col flex-grow"},xwt={class:"container pt-4 pb-50 mb-50 w-full"},Cwt=Ft(()=>c("div",null,[c("br"),c("br"),c("br"),c("br"),c("br"),c("br"),c("br")],-1)),wwt=Ft(()=>c("div",{class:"absolute w-full bottom-0 bg-transparent p-10 pt-16 bg-gradient-to-t from-bg-light dark:from-bg-dark from-5% via-bg-light dark:via-bg-dark via-10% to-transparent to-100%"},null,-1)),Rwt={key:0,class:"flex flex-row items-center justify-center h-10"},Awt={key:0,class:"relative flex flex-col no-scrollbar shadow-lg w-1/2 bg-bg-light-tone dark:bg-bg-dark-tone h-full"},Nwt={ref:"isolatedContent",class:"h-full"},Owt={role:"status",class:"fixed m-0 p-2 left-2 bottom-2 min-w-[24rem] max-w-[24rem] h-20 flex flex-col justify-center items-center pb-4 bg-blue-500 rounded-lg shadow-lg z-50 background-a"},Iwt={class:"text-2xl animate-pulse mt-2 text-light-text-panel dark:text-dark-text-panel"},Mwt={setup(){},data(){return{lastMessageHtml:"",defaultMessageHtml:` + `,544),[[xe,s.message]])]),t.loading?(w(),A("button",{key:4,type:"button",class:"bg-red-500 dark:bg-red-800 hover:bg-red-600 focus:ring-4 focus:ring-blue-300 font-medium rounded-lg text-sm px-5 py-2.5 mr-2 mb-2 dark:hover:bg-bg-dark-tone focus:outline-none dark:focus:ring-blue-800",onClick:e[14]||(e[14]=ge((...d)=>r.stopGenerating&&r.stopGenerating(...d),["stop"]))}," Stop generating ")):V("",!0),c("div",UTt,[t.loading?V("",!0):(w(),A("button",{key:0,type:"button",onClick:e[15]||(e[15]=(...d)=>r.submit&&r.submit(...d)),title:"Send",class:"w-6 text-panel hover:text-secondary duration-75 active:scale-90 cursor-pointer transform transition-transform hover:translate-y-[-5px] active:scale-90"},BTt)),GTt]),c("div",VTt,[t.loading?V("",!0):(w(),A("button",{key:0,type:"button",onClick:e[16]||(e[16]=(...d)=>r.submitWithInternetSearch&&r.submitWithInternetSearch(...d)),title:"Send With internet",class:"w-6 hover:text-secondary duration-75 active:scale-90 cursor-pointer transform transition-transform hover:translate-y-[-5px] active:scale-90"},[c("img",{src:s.sendGlobe,width:"50",height:"50",style:{stroke:"currentColor",fill:"currentColor"}},null,8,zTt)])),HTt]),c("div",qTt,[t.loading?V("",!0):(w(),A("button",{key:0,type:"button",onClick:e[17]||(e[17]=(...d)=>r.startSpeechRecognition&&r.startSpeechRecognition(...d)),class:ze([{"text-red-500":s.isListeningToVoice},"w-6 hover:text-secondary duration-75 active:scale-90 cursor-pointer transform transition-transform hover:translate-y-[-5px] active:scale-90"])},$Tt,2)),WTt]),n.$store.state.config.active_tts_service!="None"?(w(),A("div",KTt,[s.is_rt?(w(),A("button",{key:0,type:"button",onClick:e[18]||(e[18]=(...d)=>r.stopRTCom&&r.stopRTCom(...d)),class:"w-6 hover:text-secondary duration-75 active:scale-90 cursor-pointer transform transition-transform hover:translate-y-[-5px] active:scale-90 bg-red-500 border borderred700 rounded-md"},QTt)):(w(),A("button",{key:1,type:"button",onClick:e[19]||(e[19]=(...d)=>r.startRTCom&&r.startRTCom(...d)),class:"w-6 hover:text-secondary duration-75 active:scale-90 cursor-pointer transform transition-transform hover:translate-y-[-5px] active:scale-90 bg-green-500 border border-green-700 rounded-md"},ZTt)),JTt])):V("",!0),t.loading?V("",!0):(w(),A("div",ext,[c("input",{type:"file",ref:"fileDialog",style:{display:"none"},onChange:e[20]||(e[20]=(...d)=>r.addFiles&&r.addFiles(...d)),multiple:""},null,544),c("button",{type:"button",onClick:e[21]||(e[21]=ge((...d)=>r.add_file&&r.add_file(...d),["prevent"])),class:"w-6 hover:text-secondary duration-75 active:scale-90 cursor-pointer transform transition-transform hover:translate-y-[-5px] active:scale-90"},nxt),ixt])),c("div",sxt,[t.loading?V("",!0):(w(),A("button",{key:0,type:"button",onClick:e[22]||(e[22]=ge((...d)=>r.takePicture&&r.takePicture(...d),["stop"])),class:"w-6 hover:text-secondary duration-75 active:scale-90 cursor-pointer transform transition-transform hover:translate-y-[-5px] active:scale-90"},oxt)),axt]),c("div",lxt,[t.loading?V("",!0):(w(),A("button",{key:0,type:"button",onClick:e[23]||(e[23]=ge((...d)=>r.addWebLink&&r.addWebLink(...d),["stop"])),class:"w-6 hover:text-secondary duration-75 active:scale-90 cursor-pointer transform transition-transform hover:translate-y-[-5px] active:scale-90"},dxt)),uxt]),c("div",pxt,[t.loading?V("",!0):(w(),A("button",{key:0,type:"button",onClick:e[24]||(e[24]=ge((...d)=>r.makeAnEmptyUserMessage&&r.makeAnEmptyUserMessage(...d),["stop"])),class:"w-6 text-gray-800 hover:text-secondary duration-75 active:scale-90 hover:translate-y-[-5px]"},hxt)),fxt]),c("div",mxt,[t.loading?V("",!0):(w(),A("button",{key:0,type:"button",onClick:e[25]||(e[25]=ge((...d)=>r.makeAnEmptyAIMessage&&r.makeAnEmptyAIMessage(...d),["stop"])),class:"w-6 text-red-400 hover:text-secondary duration-75 active:scale-90 hover:translate-y-[-5px]"},bxt)),Ext])]),yxt])])]),Te(u,{ref:"universalForm",class:"z-20"},null,512)],64)}const yO=bt(h0t,[["render",vxt],["__scopeId","data-v-6b5491a5"]]),Sxt={name:"WelcomeComponent",computed:{storeLogo(){return this.$store.state.config?Ti:this.$store.state.config.app_custom_logo!=""?"/user_infos/"+this.$store.state.config.app_custom_logo:Ti}},data(){},setup(){return{}}},Txt={class:"flex flex-col text-center w-full h-full"},xxt={class:"flex flex-col text-center items-center"},Cxt={class:"flex items-center gap-3 text-5xl drop-shadow-md align-middle pt-24"},wxt=["src"],Rxt=c("div",{class:"flex flex-col items-start"},[c("p",{class:"text-2xl"},"LoLLMS"),c("p",{class:"text-gray-400 text-base"},"One tool to rule them all")],-1),Axt=c("hr",{class:"mt-1 w-96 h-1 mx-auto my-2 md:my-2 dark:bg-bg-dark-tone-panel bg-bg-light-tone-panel border-0 rounded"},null,-1),Nxt=c("p",{class:"text-2xl"},"Welcome",-1),Oxt=c("p",{class:"text-lg"},"Please create a new discussion or select existing one to start",-1);function Ixt(n,e,t,i,s,r){return w(),A("div",Txt,[c("div",xxt,[c("div",Cxt,[c("img",{class:"w-12 hover:scale-95 duration-150",title:"LoLLMS WebUI",src:n.$store.state.config==null?r.storeLogo:n.$store.state.config.app_custom_logo!=""?"/user_infos/"+n.$store.state.config.app_custom_logo:r.storeLogo,alt:"Logo"},null,8,wxt),Rxt]),Axt,Nxt,Oxt])])}const vO=bt(Sxt,[["render",Ixt]]);var Mxt=function(){function n(e,t){t===void 0&&(t=[]),this._eventType=e,this._eventFunctions=t}return n.prototype.init=function(){var e=this;this._eventFunctions.forEach(function(t){typeof window<"u"&&window.addEventListener(e._eventType,t)})},n}(),iu=globalThis&&globalThis.__assign||function(){return iu=Object.assign||function(n){for(var e,t=1,i=arguments.length;t"u")return!1;var e=ai(n).ShadowRoot;return n instanceof e||n instanceof ShadowRoot}function Yxt(n){var e=n.state;Object.keys(e.elements).forEach(function(t){var i=e.styles[t]||{},s=e.attributes[t]||{},r=e.elements[t];!xi(r)||!us(r)||(Object.assign(r.style,i),Object.keys(s).forEach(function(o){var a=s[o];a===!1?r.removeAttribute(o):r.setAttribute(o,a===!0?"":a)}))})}function $xt(n){var e=n.state,t={popper:{position:e.options.strategy,left:"0",top:"0",margin:"0"},arrow:{position:"absolute"},reference:{}};return Object.assign(e.elements.popper.style,t.popper),e.styles=t,e.elements.arrow&&Object.assign(e.elements.arrow.style,t.arrow),function(){Object.keys(e.elements).forEach(function(i){var s=e.elements[i],r=e.attributes[i]||{},o=Object.keys(e.styles.hasOwnProperty(i)?e.styles[i]:t[i]),a=o.reduce(function(l,u){return l[u]="",l},{});!xi(s)||!us(s)||(Object.assign(s.style,a),Object.keys(r).forEach(function(l){s.removeAttribute(l)}))})}}const Wxt={name:"applyStyles",enabled:!0,phase:"write",fn:Yxt,effect:$xt,requires:["computeStyles"]};function ls(n){return n.split("-")[0]}var ro=Math.max,au=Math.min,ya=Math.round;function tb(){var n=navigator.userAgentData;return n!=null&&n.brands&&Array.isArray(n.brands)?n.brands.map(function(e){return e.brand+"/"+e.version}).join(" "):navigator.userAgent}function AO(){return!/^((?!chrome|android).)*safari/i.test(tb())}function va(n,e,t){e===void 0&&(e=!1),t===void 0&&(t=!1);var i=n.getBoundingClientRect(),s=1,r=1;e&&xi(n)&&(s=n.offsetWidth>0&&ya(i.width)/n.offsetWidth||1,r=n.offsetHeight>0&&ya(i.height)/n.offsetHeight||1);var o=ho(n)?ai(n):window,a=o.visualViewport,l=!AO()&&t,u=(i.left+(l&&a?a.offsetLeft:0))/s,d=(i.top+(l&&a?a.offsetTop:0))/r,h=i.width/s,f=i.height/r;return{width:h,height:f,top:d,right:u+h,bottom:d+f,left:u,x:u,y:d}}function LE(n){var e=va(n),t=n.offsetWidth,i=n.offsetHeight;return Math.abs(e.width-t)<=1&&(t=e.width),Math.abs(e.height-i)<=1&&(i=e.height),{x:n.offsetLeft,y:n.offsetTop,width:t,height:i}}function NO(n,e){var t=e.getRootNode&&e.getRootNode();if(n.contains(e))return!0;if(t&&kE(t)){var i=e;do{if(i&&n.isSameNode(i))return!0;i=i.parentNode||i.host}while(i)}return!1}function qs(n){return ai(n).getComputedStyle(n)}function Kxt(n){return["table","td","th"].indexOf(us(n))>=0}function Or(n){return((ho(n)?n.ownerDocument:n.document)||window.document).documentElement}function lp(n){return us(n)==="html"?n:n.assignedSlot||n.parentNode||(kE(n)?n.host:null)||Or(n)}function DC(n){return!xi(n)||qs(n).position==="fixed"?null:n.offsetParent}function jxt(n){var e=/firefox/i.test(tb()),t=/Trident/i.test(tb());if(t&&xi(n)){var i=qs(n);if(i.position==="fixed")return null}var s=lp(n);for(kE(s)&&(s=s.host);xi(s)&&["html","body"].indexOf(us(s))<0;){var r=qs(s);if(r.transform!=="none"||r.perspective!=="none"||r.contain==="paint"||["transform","perspective"].indexOf(r.willChange)!==-1||e&&r.willChange==="filter"||e&&r.filter&&r.filter!=="none")return s;s=s.parentNode}return null}function yc(n){for(var e=ai(n),t=DC(n);t&&Kxt(t)&&qs(t).position==="static";)t=DC(t);return t&&(us(t)==="html"||us(t)==="body"&&qs(t).position==="static")?e:t||jxt(n)||e}function PE(n){return["top","bottom"].indexOf(n)>=0?"x":"y"}function kl(n,e,t){return ro(n,au(e,t))}function Qxt(n,e,t){var i=kl(n,e,t);return i>t?t:i}function OO(){return{top:0,right:0,bottom:0,left:0}}function IO(n){return Object.assign({},OO(),n)}function MO(n,e){return e.reduce(function(t,i){return t[i]=n,t},{})}var Xxt=function(e,t){return e=typeof e=="function"?e(Object.assign({},t.rects,{placement:t.placement})):e,IO(typeof e!="number"?e:MO(e,Ec))};function Zxt(n){var e,t=n.state,i=n.name,s=n.options,r=t.elements.arrow,o=t.modifiersData.popperOffsets,a=ls(t.placement),l=PE(a),u=[Xn,Ai].indexOf(a)>=0,d=u?"height":"width";if(!(!r||!o)){var h=Xxt(s.padding,t),f=LE(r),_=l==="y"?Qn:Xn,m=l==="y"?Ri:Ai,E=t.rects.reference[d]+t.rects.reference[l]-o[l]-t.rects.popper[d],b=o[l]-t.rects.reference[l],g=yc(r),y=g?l==="y"?g.clientHeight||0:g.clientWidth||0:0,v=E/2-b/2,S=h[_],C=y-f[d]-h[m],T=y/2-f[d]/2+v,O=kl(S,T,C),k=l;t.modifiersData[i]=(e={},e[k]=O,e.centerOffset=O-T,e)}}function Jxt(n){var e=n.state,t=n.options,i=t.element,s=i===void 0?"[data-popper-arrow]":i;s!=null&&(typeof s=="string"&&(s=e.elements.popper.querySelector(s),!s)||NO(e.elements.popper,s)&&(e.elements.arrow=s))}const eCt={name:"arrow",enabled:!0,phase:"main",fn:Zxt,effect:Jxt,requires:["popperOffsets"],requiresIfExists:["preventOverflow"]};function Sa(n){return n.split("-")[1]}var tCt={top:"auto",right:"auto",bottom:"auto",left:"auto"};function nCt(n,e){var t=n.x,i=n.y,s=e.devicePixelRatio||1;return{x:ya(t*s)/s||0,y:ya(i*s)/s||0}}function kC(n){var e,t=n.popper,i=n.popperRect,s=n.placement,r=n.variation,o=n.offsets,a=n.position,l=n.gpuAcceleration,u=n.adaptive,d=n.roundOffsets,h=n.isFixed,f=o.x,_=f===void 0?0:f,m=o.y,E=m===void 0?0:m,b=typeof d=="function"?d({x:_,y:E}):{x:_,y:E};_=b.x,E=b.y;var g=o.hasOwnProperty("x"),y=o.hasOwnProperty("y"),v=Xn,S=Qn,C=window;if(u){var T=yc(t),O="clientHeight",k="clientWidth";if(T===ai(t)&&(T=Or(t),qs(T).position!=="static"&&a==="absolute"&&(O="scrollHeight",k="scrollWidth")),T=T,s===Qn||(s===Xn||s===Ai)&&r===ic){S=Ri;var x=h&&T===C&&C.visualViewport?C.visualViewport.height:T[O];E-=x-i.height,E*=l?1:-1}if(s===Xn||(s===Qn||s===Ri)&&r===ic){v=Ai;var I=h&&T===C&&C.visualViewport?C.visualViewport.width:T[k];_-=I-i.width,_*=l?1:-1}}var F=Object.assign({position:a},u&&tCt),B=d===!0?nCt({x:_,y:E},ai(t)):{x:_,y:E};if(_=B.x,E=B.y,l){var ne;return Object.assign({},F,(ne={},ne[S]=y?"0":"",ne[v]=g?"0":"",ne.transform=(C.devicePixelRatio||1)<=1?"translate("+_+"px, "+E+"px)":"translate3d("+_+"px, "+E+"px, 0)",ne))}return Object.assign({},F,(e={},e[S]=y?E+"px":"",e[v]=g?_+"px":"",e.transform="",e))}function iCt(n){var e=n.state,t=n.options,i=t.gpuAcceleration,s=i===void 0?!0:i,r=t.adaptive,o=r===void 0?!0:r,a=t.roundOffsets,l=a===void 0?!0:a,u={placement:ls(e.placement),variation:Sa(e.placement),popper:e.elements.popper,popperRect:e.rects.popper,gpuAcceleration:s,isFixed:e.options.strategy==="fixed"};e.modifiersData.popperOffsets!=null&&(e.styles.popper=Object.assign({},e.styles.popper,kC(Object.assign({},u,{offsets:e.modifiersData.popperOffsets,position:e.options.strategy,adaptive:o,roundOffsets:l})))),e.modifiersData.arrow!=null&&(e.styles.arrow=Object.assign({},e.styles.arrow,kC(Object.assign({},u,{offsets:e.modifiersData.arrow,position:"absolute",adaptive:!1,roundOffsets:l})))),e.attributes.popper=Object.assign({},e.attributes.popper,{"data-popper-placement":e.placement})}const sCt={name:"computeStyles",enabled:!0,phase:"beforeWrite",fn:iCt,data:{}};var qc={passive:!0};function rCt(n){var e=n.state,t=n.instance,i=n.options,s=i.scroll,r=s===void 0?!0:s,o=i.resize,a=o===void 0?!0:o,l=ai(e.elements.popper),u=[].concat(e.scrollParents.reference,e.scrollParents.popper);return r&&u.forEach(function(d){d.addEventListener("scroll",t.update,qc)}),a&&l.addEventListener("resize",t.update,qc),function(){r&&u.forEach(function(d){d.removeEventListener("scroll",t.update,qc)}),a&&l.removeEventListener("resize",t.update,qc)}}const oCt={name:"eventListeners",enabled:!0,phase:"write",fn:function(){},effect:rCt,data:{}};var aCt={left:"right",right:"left",bottom:"top",top:"bottom"};function Fd(n){return n.replace(/left|right|bottom|top/g,function(e){return aCt[e]})}var lCt={start:"end",end:"start"};function LC(n){return n.replace(/start|end/g,function(e){return lCt[e]})}function UE(n){var e=ai(n),t=e.pageXOffset,i=e.pageYOffset;return{scrollLeft:t,scrollTop:i}}function FE(n){return va(Or(n)).left+UE(n).scrollLeft}function cCt(n,e){var t=ai(n),i=Or(n),s=t.visualViewport,r=i.clientWidth,o=i.clientHeight,a=0,l=0;if(s){r=s.width,o=s.height;var u=AO();(u||!u&&e==="fixed")&&(a=s.offsetLeft,l=s.offsetTop)}return{width:r,height:o,x:a+FE(n),y:l}}function dCt(n){var e,t=Or(n),i=UE(n),s=(e=n.ownerDocument)==null?void 0:e.body,r=ro(t.scrollWidth,t.clientWidth,s?s.scrollWidth:0,s?s.clientWidth:0),o=ro(t.scrollHeight,t.clientHeight,s?s.scrollHeight:0,s?s.clientHeight:0),a=-i.scrollLeft+FE(n),l=-i.scrollTop;return qs(s||t).direction==="rtl"&&(a+=ro(t.clientWidth,s?s.clientWidth:0)-r),{width:r,height:o,x:a,y:l}}function BE(n){var e=qs(n),t=e.overflow,i=e.overflowX,s=e.overflowY;return/auto|scroll|overlay|hidden/.test(t+s+i)}function DO(n){return["html","body","#document"].indexOf(us(n))>=0?n.ownerDocument.body:xi(n)&&BE(n)?n:DO(lp(n))}function Ll(n,e){var t;e===void 0&&(e=[]);var i=DO(n),s=i===((t=n.ownerDocument)==null?void 0:t.body),r=ai(i),o=s?[r].concat(r.visualViewport||[],BE(i)?i:[]):i,a=e.concat(o);return s?a:a.concat(Ll(lp(o)))}function nb(n){return Object.assign({},n,{left:n.x,top:n.y,right:n.x+n.width,bottom:n.y+n.height})}function uCt(n,e){var t=va(n,!1,e==="fixed");return t.top=t.top+n.clientTop,t.left=t.left+n.clientLeft,t.bottom=t.top+n.clientHeight,t.right=t.left+n.clientWidth,t.width=n.clientWidth,t.height=n.clientHeight,t.x=t.left,t.y=t.top,t}function PC(n,e,t){return e===wO?nb(cCt(n,t)):ho(e)?uCt(e,t):nb(dCt(Or(n)))}function pCt(n){var e=Ll(lp(n)),t=["absolute","fixed"].indexOf(qs(n).position)>=0,i=t&&xi(n)?yc(n):n;return ho(i)?e.filter(function(s){return ho(s)&&NO(s,i)&&us(s)!=="body"}):[]}function _Ct(n,e,t,i){var s=e==="clippingParents"?pCt(n):[].concat(e),r=[].concat(s,[t]),o=r[0],a=r.reduce(function(l,u){var d=PC(n,u,i);return l.top=ro(d.top,l.top),l.right=au(d.right,l.right),l.bottom=au(d.bottom,l.bottom),l.left=ro(d.left,l.left),l},PC(n,o,i));return a.width=a.right-a.left,a.height=a.bottom-a.top,a.x=a.left,a.y=a.top,a}function kO(n){var e=n.reference,t=n.element,i=n.placement,s=i?ls(i):null,r=i?Sa(i):null,o=e.x+e.width/2-t.width/2,a=e.y+e.height/2-t.height/2,l;switch(s){case Qn:l={x:o,y:e.y-t.height};break;case Ri:l={x:o,y:e.y+e.height};break;case Ai:l={x:e.x+e.width,y:a};break;case Xn:l={x:e.x-t.width,y:a};break;default:l={x:e.x,y:e.y}}var u=s?PE(s):null;if(u!=null){var d=u==="y"?"height":"width";switch(r){case Ea:l[u]=l[u]-(e[d]/2-t[d]/2);break;case ic:l[u]=l[u]+(e[d]/2-t[d]/2);break}}return l}function sc(n,e){e===void 0&&(e={});var t=e,i=t.placement,s=i===void 0?n.placement:i,r=t.strategy,o=r===void 0?n.strategy:r,a=t.boundary,l=a===void 0?Dxt:a,u=t.rootBoundary,d=u===void 0?wO:u,h=t.elementContext,f=h===void 0?hl:h,_=t.altBoundary,m=_===void 0?!1:_,E=t.padding,b=E===void 0?0:E,g=IO(typeof b!="number"?b:MO(b,Ec)),y=f===hl?kxt:hl,v=n.rects.popper,S=n.elements[m?y:f],C=_Ct(ho(S)?S:S.contextElement||Or(n.elements.popper),l,d,o),T=va(n.elements.reference),O=kO({reference:T,element:v,strategy:"absolute",placement:s}),k=nb(Object.assign({},v,O)),x=f===hl?k:T,I={top:C.top-x.top+g.top,bottom:x.bottom-C.bottom+g.bottom,left:C.left-x.left+g.left,right:x.right-C.right+g.right},F=n.modifiersData.offset;if(f===hl&&F){var B=F[s];Object.keys(I).forEach(function(ne){var L=[Ai,Ri].indexOf(ne)>=0?1:-1,$=[Qn,Ri].indexOf(ne)>=0?"y":"x";I[ne]+=B[$]*L})}return I}function hCt(n,e){e===void 0&&(e={});var t=e,i=t.placement,s=t.boundary,r=t.rootBoundary,o=t.padding,a=t.flipVariations,l=t.allowedAutoPlacements,u=l===void 0?RO:l,d=Sa(i),h=d?a?MC:MC.filter(function(m){return Sa(m)===d}):Ec,f=h.filter(function(m){return u.indexOf(m)>=0});f.length===0&&(f=h);var _=f.reduce(function(m,E){return m[E]=sc(n,{placement:E,boundary:s,rootBoundary:r,padding:o})[ls(E)],m},{});return Object.keys(_).sort(function(m,E){return _[m]-_[E]})}function fCt(n){if(ls(n)===DE)return[];var e=Fd(n);return[LC(n),e,LC(e)]}function mCt(n){var e=n.state,t=n.options,i=n.name;if(!e.modifiersData[i]._skip){for(var s=t.mainAxis,r=s===void 0?!0:s,o=t.altAxis,a=o===void 0?!0:o,l=t.fallbackPlacements,u=t.padding,d=t.boundary,h=t.rootBoundary,f=t.altBoundary,_=t.flipVariations,m=_===void 0?!0:_,E=t.allowedAutoPlacements,b=e.options.placement,g=ls(b),y=g===b,v=l||(y||!m?[Fd(b)]:fCt(b)),S=[b].concat(v).reduce(function(Ee,Ce){return Ee.concat(ls(Ce)===DE?hCt(e,{placement:Ce,boundary:d,rootBoundary:h,padding:u,flipVariations:m,allowedAutoPlacements:E}):Ce)},[]),C=e.rects.reference,T=e.rects.popper,O=new Map,k=!0,x=S[0],I=0;I=0,$=L?"width":"height",H=sc(e,{placement:F,boundary:d,rootBoundary:h,altBoundary:f,padding:u}),U=L?ne?Ai:Xn:ne?Ri:Qn;C[$]>T[$]&&(U=Fd(U));var Q=Fd(U),J=[];if(r&&J.push(H[B]<=0),a&&J.push(H[U]<=0,H[Q]<=0),J.every(function(Ee){return Ee})){x=F,k=!1;break}O.set(F,J)}if(k)for(var j=m?3:1,ae=function(Ce){var Me=S.find(function(Z){var ye=O.get(Z);if(ye)return ye.slice(0,Ce).every(function(fe){return fe})});if(Me)return x=Me,"break"},ve=j;ve>0;ve--){var ee=ae(ve);if(ee==="break")break}e.placement!==x&&(e.modifiersData[i]._skip=!0,e.placement=x,e.reset=!0)}}const gCt={name:"flip",enabled:!0,phase:"main",fn:mCt,requiresIfExists:["offset"],data:{_skip:!1}};function UC(n,e,t){return t===void 0&&(t={x:0,y:0}),{top:n.top-e.height-t.y,right:n.right-e.width+t.x,bottom:n.bottom-e.height+t.y,left:n.left-e.width-t.x}}function FC(n){return[Qn,Ai,Ri,Xn].some(function(e){return n[e]>=0})}function bCt(n){var e=n.state,t=n.name,i=e.rects.reference,s=e.rects.popper,r=e.modifiersData.preventOverflow,o=sc(e,{elementContext:"reference"}),a=sc(e,{altBoundary:!0}),l=UC(o,i),u=UC(a,s,r),d=FC(l),h=FC(u);e.modifiersData[t]={referenceClippingOffsets:l,popperEscapeOffsets:u,isReferenceHidden:d,hasPopperEscaped:h},e.attributes.popper=Object.assign({},e.attributes.popper,{"data-popper-reference-hidden":d,"data-popper-escaped":h})}const ECt={name:"hide",enabled:!0,phase:"main",requiresIfExists:["preventOverflow"],fn:bCt};function yCt(n,e,t){var i=ls(n),s=[Xn,Qn].indexOf(i)>=0?-1:1,r=typeof t=="function"?t(Object.assign({},e,{placement:n})):t,o=r[0],a=r[1];return o=o||0,a=(a||0)*s,[Xn,Ai].indexOf(i)>=0?{x:a,y:o}:{x:o,y:a}}function vCt(n){var e=n.state,t=n.options,i=n.name,s=t.offset,r=s===void 0?[0,0]:s,o=RO.reduce(function(d,h){return d[h]=yCt(h,e.rects,r),d},{}),a=o[e.placement],l=a.x,u=a.y;e.modifiersData.popperOffsets!=null&&(e.modifiersData.popperOffsets.x+=l,e.modifiersData.popperOffsets.y+=u),e.modifiersData[i]=o}const SCt={name:"offset",enabled:!0,phase:"main",requires:["popperOffsets"],fn:vCt};function TCt(n){var e=n.state,t=n.name;e.modifiersData[t]=kO({reference:e.rects.reference,element:e.rects.popper,strategy:"absolute",placement:e.placement})}const xCt={name:"popperOffsets",enabled:!0,phase:"read",fn:TCt,data:{}};function CCt(n){return n==="x"?"y":"x"}function wCt(n){var e=n.state,t=n.options,i=n.name,s=t.mainAxis,r=s===void 0?!0:s,o=t.altAxis,a=o===void 0?!1:o,l=t.boundary,u=t.rootBoundary,d=t.altBoundary,h=t.padding,f=t.tether,_=f===void 0?!0:f,m=t.tetherOffset,E=m===void 0?0:m,b=sc(e,{boundary:l,rootBoundary:u,padding:h,altBoundary:d}),g=ls(e.placement),y=Sa(e.placement),v=!y,S=PE(g),C=CCt(S),T=e.modifiersData.popperOffsets,O=e.rects.reference,k=e.rects.popper,x=typeof E=="function"?E(Object.assign({},e.rects,{placement:e.placement})):E,I=typeof x=="number"?{mainAxis:x,altAxis:x}:Object.assign({mainAxis:0,altAxis:0},x),F=e.modifiersData.offset?e.modifiersData.offset[e.placement]:null,B={x:0,y:0};if(T){if(r){var ne,L=S==="y"?Qn:Xn,$=S==="y"?Ri:Ai,H=S==="y"?"height":"width",U=T[S],Q=U+b[L],J=U-b[$],j=_?-k[H]/2:0,ae=y===Ea?O[H]:k[H],ve=y===Ea?-k[H]:-O[H],ee=e.elements.arrow,Ee=_&&ee?LE(ee):{width:0,height:0},Ce=e.modifiersData["arrow#persistent"]?e.modifiersData["arrow#persistent"].padding:OO(),Me=Ce[L],Z=Ce[$],ye=kl(0,O[H],Ee[H]),fe=v?O[H]/2-j-ye-Me-I.mainAxis:ae-ye-Me-I.mainAxis,Ne=v?-O[H]/2+j+ye+Z+I.mainAxis:ve+ye+Z+I.mainAxis,Le=e.elements.arrow&&yc(e.elements.arrow),D=Le?S==="y"?Le.clientTop||0:Le.clientLeft||0:0,q=(ne=F==null?void 0:F[S])!=null?ne:0,K=U+fe-q-D,de=U+Ne-q,le=kl(_?au(Q,K):Q,U,_?ro(J,de):J);T[S]=le,B[S]=le-U}if(a){var Re,Ie=S==="x"?Qn:Xn,z=S==="x"?Ri:Ai,pe=T[C],re=C==="y"?"height":"width",ce=pe+b[Ie],M=pe-b[z],N=[Qn,Xn].indexOf(g)!==-1,W=(Re=F==null?void 0:F[C])!=null?Re:0,ue=N?ce:pe-O[re]-k[re]-W+I.altAxis,X=N?pe+O[re]+k[re]-W-I.altAxis:M,ie=_&&N?Qxt(ue,pe,X):kl(_?ue:ce,pe,_?X:M);T[C]=ie,B[C]=ie-pe}e.modifiersData[i]=B}}const RCt={name:"preventOverflow",enabled:!0,phase:"main",fn:wCt,requiresIfExists:["offset"]};function ACt(n){return{scrollLeft:n.scrollLeft,scrollTop:n.scrollTop}}function NCt(n){return n===ai(n)||!xi(n)?UE(n):ACt(n)}function OCt(n){var e=n.getBoundingClientRect(),t=ya(e.width)/n.offsetWidth||1,i=ya(e.height)/n.offsetHeight||1;return t!==1||i!==1}function ICt(n,e,t){t===void 0&&(t=!1);var i=xi(e),s=xi(e)&&OCt(e),r=Or(e),o=va(n,s,t),a={scrollLeft:0,scrollTop:0},l={x:0,y:0};return(i||!i&&!t)&&((us(e)!=="body"||BE(r))&&(a=NCt(e)),xi(e)?(l=va(e,!0),l.x+=e.clientLeft,l.y+=e.clientTop):r&&(l.x=FE(r))),{x:o.left+a.scrollLeft-l.x,y:o.top+a.scrollTop-l.y,width:o.width,height:o.height}}function MCt(n){var e=new Map,t=new Set,i=[];n.forEach(function(r){e.set(r.name,r)});function s(r){t.add(r.name);var o=[].concat(r.requires||[],r.requiresIfExists||[]);o.forEach(function(a){if(!t.has(a)){var l=e.get(a);l&&s(l)}}),i.push(r)}return n.forEach(function(r){t.has(r.name)||s(r)}),i}function DCt(n){var e=MCt(n);return qxt.reduce(function(t,i){return t.concat(e.filter(function(s){return s.phase===i}))},[])}function kCt(n){var e;return function(){return e||(e=new Promise(function(t){Promise.resolve().then(function(){e=void 0,t(n())})})),e}}function LCt(n){var e=n.reduce(function(t,i){var s=t[i.name];return t[i.name]=s?Object.assign({},s,i,{options:Object.assign({},s.options,i.options),data:Object.assign({},s.data,i.data)}):i,t},{});return Object.keys(e).map(function(t){return e[t]})}var BC={placement:"bottom",modifiers:[],strategy:"absolute"};function GC(){for(var n=arguments.length,e=new Array(n),t=0;t(yo("data-v-a549407f"),n=n(),vo(),n),qCt={key:0,class:"fixed top-0 left-0 w-screen h-screen flex items-center justify-center"},YCt={class:"flex flex-col text-center"},$Ct={class:"flex flex-col text-center items-center"},WCt={class:"flex items-center gap-3 text-5xl drop-shadow-md align-middle pt-24"},KCt=Ft(()=>c("img",{class:"w-24 animate-bounce",title:"LoLLMS WebUI",src:Ti,alt:"Logo"},null,-1)),jCt={class:"flex flex-col items-start"},QCt={class:"text-2xl font-bold text-5xl drop-shadow-md align-middle"},XCt=Ft(()=>c("p",{class:"text-gray-400 text-base"},"One tool to rule them all",-1)),ZCt=Ft(()=>c("p",{class:"text-gray-400 text-base"},"by ParisNeo",-1)),JCt=Ft(()=>c("hr",{class:"mt-1 w-96 h-1 mx-auto my-2 md:my-2 dark:bg-bg-dark-tone-panel bg-bg-light-tone-panel border-0 rounded"},null,-1)),e1t=Ft(()=>c("p",{class:"text-2xl mb-10 font-bold drop-shadow-md"},"Welcome",-1)),t1t={role:"status",class:"text-center w-full display: flex; flex-row align-items: center;"},n1t={class:"text-2xl animate-pulse mt-2"},i1t=Ft(()=>c("i",{"data-feather":"chevron-right"},null,-1)),s1t=[i1t],r1t=Ft(()=>c("i",{"data-feather":"chevron-left"},null,-1)),o1t=[r1t],a1t=Fu('',1),l1t=[a1t],c1t={key:0,class:"relative flex flex-col no-scrollbar shadow-lg min-w-[24rem] max-w-[24rem] bg-bg-light-tone dark:bg-bg-dark-tone"},d1t={class:"text-light-text-panel dark:text-dark-text-panel bg-bg-light-panel sticky z-10 top-0 dark:bg-bg-dark-tone shadow-md"},u1t={class:"flex-row p-4 flex items-center gap-3 flex-0"},p1t=Ft(()=>c("i",{"data-feather":"plus"},null,-1)),_1t=[p1t],h1t=Ft(()=>c("i",{"data-feather":"check-square"},null,-1)),f1t=[h1t],m1t={class:"text-2xl hover:text-secondary duration-75 active:scale-90",title:"Reset database, remove all discussions"},g1t=Ft(()=>c("i",{"data-feather":"database"},null,-1)),b1t=[g1t],E1t=Ft(()=>c("i",{"data-feather":"log-in"},null,-1)),y1t=[E1t],v1t=Ft(()=>c("i",{"data-feather":"folder"},null,-1)),S1t=[v1t],T1t={key:1,class:"dropdown"},x1t=Ft(()=>c("i",{"data-feather":"search"},null,-1)),C1t=[x1t],w1t={key:2,class:"flex gap-3 flex-1 items-center duration-75"},R1t=Ft(()=>c("i",{"data-feather":"x"},null,-1)),A1t=[R1t],N1t=Ft(()=>c("i",{"data-feather":"check"},null,-1)),O1t=[N1t],I1t=Ft(()=>c("i",{"data-feather":"hard-drive"},null,-1)),M1t=[I1t],D1t=Ft(()=>c("i",{"data-feather":"check-circle"},null,-1)),k1t=[D1t],L1t=Ft(()=>c("i",{"data-feather":"x-octagon"},null,-1)),P1t=[L1t],U1t=Ft(()=>c("i",{"data-feather":"book"},null,-1)),F1t=[U1t],B1t={key:7,title:"Loading..",class:"flex flex-row flex-grow justify-end"},G1t=Ft(()=>c("div",{role:"status"},[c("svg",{"aria-hidden":"true",class:"w-6 h-6 animate-spin fill-secondary",viewBox:"0 0 100 101",fill:"none",xmlns:"http://www.w3.org/2000/svg"},[c("path",{d:"M100 50.5908C100 78.2051 77.6142 100.591 50 100.591C22.3858 100.591 0 78.2051 0 50.5908C0 22.9766 22.3858 0.59082 50 0.59082C77.6142 0.59082 100 22.9766 100 50.5908ZM9.08144 50.5908C9.08144 73.1895 27.4013 91.5094 50 91.5094C72.5987 91.5094 90.9186 73.1895 90.9186 50.5908C90.9186 27.9921 72.5987 9.67226 50 9.67226C27.4013 9.67226 9.08144 27.9921 9.08144 50.5908Z",fill:"currentColor"}),c("path",{d:"M93.9676 39.0409C96.393 38.4038 97.8624 35.9116 97.0079 33.5539C95.2932 28.8227 92.871 24.3692 89.8167 20.348C85.8452 15.1192 80.8826 10.7238 75.2124 7.41289C69.5422 4.10194 63.2754 1.94025 56.7698 1.05124C51.7666 0.367541 46.6976 0.446843 41.7345 1.27873C39.2613 1.69328 37.813 4.19778 38.4501 6.62326C39.0873 9.04874 41.5694 10.4717 44.0505 10.1071C47.8511 9.54855 51.7191 9.52689 55.5402 10.0491C60.8642 10.7766 65.9928 12.5457 70.6331 15.2552C75.2735 17.9648 79.3347 21.5619 82.5849 25.841C84.9175 28.9121 86.7997 32.2913 88.1811 35.8758C89.083 38.2158 91.5421 39.6781 93.9676 39.0409Z",fill:"currentFill"})]),c("span",{class:"sr-only"},"Loading...")],-1)),V1t=[G1t],z1t={key:0,class:"flex-row items-center gap-3 flex-0 w-full"},H1t={class:"p-4 pt-2"},q1t={class:"relative"},Y1t=Ft(()=>c("div",{class:"absolute inset-y-0 left-0 flex items-center pl-3 pointer-events-none"},[c("div",{class:"scale-75"},[c("i",{"data-feather":"search"})])],-1)),$1t={class:"absolute inset-y-0 right-0 flex items-center pr-3"},W1t=Ft(()=>c("i",{"data-feather":"x"},null,-1)),K1t=[W1t],j1t={key:1,class:"h-px bg-bg-light p-0 mb-4 px-4 mx-4 border-0 dark:bg-bg-dark"},Q1t={key:2,class:"flex flex-row flex-grow p-4 pt-0 items-center"},X1t={class:"flex flex-row flex-grow"},Z1t={key:0},J1t={class:"flex flex-row"},ewt={key:0,class:"flex gap-3"},twt=Ft(()=>c("i",{"data-feather":"trash"},null,-1)),nwt=[twt],iwt={key:1,class:"flex gap-3 mx-3 flex-1 items-center justify-end group-hover:visible duration-75"},swt=Ft(()=>c("i",{"data-feather":"check"},null,-1)),rwt=[swt],owt=Ft(()=>c("i",{"data-feather":"x"},null,-1)),awt=[owt],lwt={class:"flex gap-3"},cwt=Ft(()=>c("i",{"data-feather":"codepen"},null,-1)),dwt=[cwt],uwt=Ft(()=>c("i",{"data-feather":"folder"},null,-1)),pwt=[uwt],_wt=Ft(()=>c("i",{"data-feather":"bookmark"},null,-1)),hwt=[_wt],fwt=Ft(()=>c("i",{"data-feather":"list"},null,-1)),mwt=[fwt],gwt={class:"relative flex flex-row flex-grow mb-10 z-0 w-full"},bwt={key:1,class:"gap-2 py-2 my-2 hover:shadow-md hover:bg-primary-light dark:hover:bg-primary rounded-md p-2 duration-75 group cursor-pointer"},Ewt=Ft(()=>c("p",{class:"px-3"},"No discussions are found",-1)),ywt=[Ewt],vwt=Ft(()=>c("div",{class:"sticky bottom-0 bg-gradient-to-t pointer-events-none from-bg-light-tone dark:from-bg-dark-tone flex flex-grow"},null,-1)),Swt={class:"text-center font-large font-bold text-l drop-shadow-md align-middle"},Twt={key:2,class:"relative flex flex-col flex-grow"},xwt={class:"container pt-4 pb-50 mb-50 w-full"},Cwt=Ft(()=>c("div",null,[c("br"),c("br"),c("br"),c("br"),c("br"),c("br"),c("br")],-1)),wwt=Ft(()=>c("div",{class:"absolute w-full bottom-0 bg-transparent p-10 pt-16 bg-gradient-to-t from-bg-light dark:from-bg-dark from-5% via-bg-light dark:via-bg-dark via-10% to-transparent to-100%"},null,-1)),Rwt={key:0,class:"flex flex-row items-center justify-center h-10"},Awt={key:0,class:"relative flex flex-col no-scrollbar shadow-lg w-1/2 bg-bg-light-tone dark:bg-bg-dark-tone h-full"},Nwt={ref:"isolatedContent",class:"h-full"},Owt={role:"status",class:"fixed m-0 p-2 left-2 bottom-2 min-w-[24rem] max-w-[24rem] h-20 flex flex-col justify-center items-center pb-4 bg-blue-500 rounded-lg shadow-lg z-50 background-a"},Iwt={class:"text-2xl animate-pulse mt-2 text-light-text-panel dark:text-dark-text-panel"},Mwt={setup(){},data(){return{lastMessageHtml:"",defaultMessageHtml:` @@ -260,7 +260,7 @@ ${e} ${l}`;navigator.clipboard.writeText(u)}else navigator.clipboard.writeText(e);this.$store.state.toast.showToast("Copied to clipboard successfully",4,!0),Ge(()=>{He.replace()})},closeToast(){this.showToast=!1},saveJSONtoFile(n,e){e=e||"data.json";const t=document.createElement("a");t.href=URL.createObjectURL(new Blob([JSON.stringify(n,null,2)],{type:"text/plain"})),t.setAttribute("download",e),document.body.appendChild(t),t.click(),document.body.removeChild(t)},saveMarkdowntoFile(n,e){e=e||"data.md";const t=document.createElement("a");t.href=URL.createObjectURL(new Blob([n],{type:"text/plain"})),t.setAttribute("download",e),document.body.appendChild(t),t.click(),document.body.removeChild(t)},parseJsonObj(n){try{return JSON.parse(n)}catch(e){return this.$store.state.toast.showToast(`Could not parse JSON. `+e.message,4,!1),null}},async parseJsonFile(n){return new Promise((e,t)=>{const i=new FileReader;i.onload=s=>e(this.parseJsonObj(s.target.result)),i.onerror=s=>t(s),i.readAsText(n)})},async exportDiscussionsAsMarkdown(){const n=this.list.filter(e=>e.checkBoxValue==!0).map(e=>e.id);if(n.length>0){console.log("export",n);let e=new Date;const t=e.getFullYear(),i=(e.getMonth()+1).toString().padStart(2,"0"),s=e.getDate().toString().padStart(2,"0"),r=e.getHours().toString().padStart(2,"0"),o=e.getMinutes().toString().padStart(2,"0"),a=e.getSeconds().toString().padStart(2,"0"),u="discussions_export_"+(t+"."+i+"."+s+"."+r+o+a)+".md";this.loading=!0;const d=await this.export_multiple_discussions(n,"markdown");d?(this.saveMarkdowntoFile(d,u),this.$store.state.toast.showToast("Successfully exported",4,!0),this.isCheckbox=!1):this.$store.state.toast.showToast("Failed to export discussions",4,!1),this.loading=!1}},async exportDiscussions(){},async exportDiscussionsAsJson(){const n=this.list.filter(e=>e.checkBoxValue==!0).map(e=>e.id);if(n.length>0){console.log("export",n);let e=new Date;const t=e.getFullYear(),i=(e.getMonth()+1).toString().padStart(2,"0"),s=e.getDate().toString().padStart(2,"0"),r=e.getHours().toString().padStart(2,"0"),o=e.getMinutes().toString().padStart(2,"0"),a=e.getSeconds().toString().padStart(2,"0"),u="discussions_export_"+(t+"."+i+"."+s+"."+r+o+a)+".json";this.loading=!0;const d=await this.export_multiple_discussions(n,"json");d?(this.saveJSONtoFile(d,u),this.$store.state.toast.showToast("Successfully exported",4,!0),this.isCheckbox=!1):this.$store.state.toast.showToast("Failed to export discussions",4,!1),this.loading=!1}},async importDiscussionsBundle(n){},async importDiscussions(n){const e=await this.parseJsonFile(n.target.files[0]);await this.import_multiple_discussions(e)?(this.$store.state.toast.showToast("Successfully imported ("+e.length+")",4,!0),await this.list_discussions()):this.$store.state.toast.showToast("Failed to import discussions",4,!1)},async getPersonalityAvatars(){for(;this.$store.state.personalities===null;)await new Promise(e=>setTimeout(e,100));let n=this.$store.state.personalities;this.personalityAvatars=n.map(e=>({name:e.name,avatar:e.avatar}))},getAvatar(n){if(n.toLowerCase().trim()==this.$store.state.config.user_name.toLowerCase().trim())return"user_infos/"+this.$store.state.config.user_avatar;const e=this.personalityAvatars.findIndex(i=>i.name===n),t=this.personalityAvatars[e];if(t)return console.log("Avatar",t.avatar),t.avatar},setFileListChat(n){try{this.$refs.chatBox.fileList=this.$refs.chatBox.fileList.concat(n)}catch(e){this.$store.state.toast.showToast(`Failed to set filelist in chatbox -`+e.message,4,!1)}this.isDragOverChat=!1},async setFileListDiscussion(n){if(n.length>1){this.$store.state.toast.showToast("Failed to import discussions. Too many files",4,!1);return}const e=await this.parseJsonFile(n[0]);await this.import_multiple_discussions(e)?(this.$store.state.toast.showToast("Successfully imported ("+e.length+")",4,!0),await this.list_discussions()):this.$store.state.toast.showToast("Failed to import discussions",4,!1),this.isDragOverDiscussion=!1}},async created(){console.log("Created discussions view");const e=(await Se.get("/get_versionID")).data.versionId;this.versionId!==e&&(this.$store.commit("updateVersionId",e),window.location.reload(!0)),this.$nextTick(()=>{He.replace()}),console.log("Connected to socket io");try{this.$store.state.loading_infos="Getting version",this.$store.state.loading_progress=30,await this.$store.dispatch("getVersion")}catch(t){console.log("Error cought:",t)}try{this.$store.state.loading_infos="Loading Configuration",this.$store.state.client_id=Ye.id,console.log(this.$store.state.client_id),await this.$store.dispatch("refreshConfig"),console.log("Config ready")}catch(t){console.log("Error cought:",t)}try{this.$store.state.loading_infos="Loading Database",this.$store.state.loading_progress=20,await this.$store.dispatch("refreshDatabase")}catch(t){console.log("Error cought:",t)}try{this.$store.state.loading_infos="Getting Bindings list",this.$store.state.loading_progress=40,await this.$store.dispatch("refreshBindings")}catch(t){console.log("Error cought:",t)}try{this.$store.state.loading_infos="Getting Hardware usage",await refreshHardwareUsage(this.$store)}catch(t){console.log("Error cought:",t)}try{this.$store.state.loading_infos="Getting personalities zoo",this.$store.state.loading_progress=70,await this.$store.dispatch("refreshPersonalitiesZoo")}catch(t){console.log("Error cought:",t)}try{this.$store.state.loading_infos="Getting mounted personalities",this.$store.state.loading_progress=80,await this.$store.dispatch("refreshMountedPersonalities")}catch(t){console.log("Error cought:",t)}try{this.$store.state.loading_infos="Getting models zoo",this.$store.state.loading_progress=90,await this.$store.dispatch("refreshModelsZoo")}catch(t){console.log("Error cought:",t)}try{this.$store.state.loading_infos="Getting active models",this.$store.state.loading_progress=100,await this.$store.dispatch("refreshModels"),await this.$store.dispatch("refreshModelStatus")}catch(t){console.log("Error cought:",t)}try{await this.$store.dispatch("fetchLanguages"),await this.$store.dispatch("fetchLanguage")}catch(t){console.log("Error cought:",t)}try{await this.$store.dispatch("fetchisRTOn")}catch(t){console.log("Error cought:",t)}this.$store.state.isConnected=!0,this.$store.state.client_id=Ye.id,console.log("Ready"),this.setPageTitle(),await this.list_discussions(),this.loadLastUsedDiscussion(),this.isCreated=!0,this.$store.state.ready=!0,Ye.on("connected",this.socketIOConnected),Ye.on("disconnected",this.socketIODisconnected),console.log("Added events"),Ye.on("show_progress",this.show_progress),Ye.on("hide_progress",this.hide_progress),Ye.on("update_progress",this.update_progress),Ye.on("notification",this.notify),Ye.on("new_message",this.new_message),Ye.on("update_message",this.streamMessageContent),Ye.on("close_message",this.finalMsgEvent),Ye.onopen=()=>{console.log("WebSocket connection established."),this.currentDiscussion!=null&&(this.setPageTitle(item),localStorage.setItem("selected_discussion",this.currentDiscussion.id),this.load_discussion(item.id,()=>{this.discussionArr.length>1&&(this.currentDiscussion.title===""||this.currentDiscussion.title===null)&&this.changeTitleUsingUserMSG(this.currentDiscussion.id,this.discussionArr[1].content)}))},Ye.on("disucssion_renamed",t=>{console.log("Received new title",t.discussion_id,t.title);const i=this.list.findIndex(r=>r.id==t.discussion_id),s=this.list[i];s.title=t.title}),Ye.onclose=t=>{console.log("WebSocket connection closed:",t.code,t.reason),this.socketIODisconnected()},Ye.on("connect_error",t=>{t.message==="ERR_CONNECTION_REFUSED"?console.error("Connection refused. The server is not available."):console.error("Connection error:",t),this.$store.state.isConnected=!1}),Ye.onerror=t=>{console.log("WebSocket connection error:",t.code,t.reason),this.socketIODisconnected(),Ye.disconnect()}},async mounted(){Ye.on("refresh_files",()=>{this.recoverFiles()}),this.$nextTick(()=>{He.replace()})},async activated(){for(;this.isReady===!1;)await new Promise(n=>setTimeout(n,100));await this.getPersonalityAvatars(),console.log("Avatars found:",this.personalityAvatars),this.isCreated&&Ge(()=>{const n=document.getElementById("messages-list");this.scrollBottom(n)}),this.$store.state.config.show_news_panel&&this.$store.state.news.show()},components:{Discussion:RE,Message:EO,ChatBox:yO,WelcomeComponent:vO,ChoiceDialog:wE,ProgressBar:nc,InputBox:mO,SkillsLibraryViewer:gO},watch:{messages:{handler:"extractHtml",deep:!0},progress_visibility_val(n){console.log("progress_visibility changed to "+n)},filterTitle(n){n==""&&(this.filterInProgress=!0,this.list=this.tempList,this.filterInProgress=!1)},isCheckbox(n){Ge(()=>{He.replace()}),n||(this.isSelectAll=!1)},socketConnected(n){console.log("Websocket connected (watch)",n)},showConfirmation(){Ge(()=>{He.replace()})},isSearch(){Ge(()=>{He.replace()})}},computed:{...Sk({versionId:n=>n.versionId}),progress_visibility:{get(){return self.progress_visibility_val}},version_info:{get(){return this.$store.state.version!=null&&this.$store.state.version!="unknown"?" v"+this.$store.state.version:""}},loading_infos:{get(){return this.$store.state.loading_infos}},loading_progress:{get(){return this.$store.state.loading_progress}},isModelOk:{get(){return this.$store.state.isModelOk},set(n){this.$store.state.isModelOk=n}},isGenerating:{get(){return this.$store.state.isGenerating},set(n){this.$store.state.isGenerating=n}},formatted_database_name(){return this.$store.state.config.discussion_db_name},UseDiscussionHistory(){return this.$store.state.config.activate_skills_lib},isReady(){return this.$store.state.ready},databases(){return this.$store.state.databases},client_id(){return Ye.id},showLeftPanel(){return this.$store.state.ready&&!this.leftPanelCollapsed},showRightPanel(){return this.$store.state.ready&&!this.rightPanelCollapsed},socketConnected(){return console.log(" --- > Websocket connected"),this.$store.commit("setIsConnected",!0),!0},socketDisconnected(){return this.$store.commit("setIsConnected",!1),console.log(" --- > Websocket disconnected"),!0},selectedDiscussions(){return Ge(()=>{He.replace()}),this.list.filter(n=>n.checkBoxValue==!0)}}},Dwt=Object.assign(Mwt,{__name:"DiscussionsView",setup(n){return Ws(()=>{VO()}),Se.defaults.baseURL="/",(e,t)=>(w(),A($e,null,[Te(Vi,{name:"fade-and-fly"},{default:We(()=>[e.isReady?V("",!0):(w(),A("div",qCt,[c("div",YCt,[c("div",$Ct,[c("div",WCt,[KCt,c("div",jCt,[c("p",QCt,"LoLLMS "+he(e.version_info),1),XCt,ZCt])]),JCt,e1t,c("div",t1t,[Te(nc,{ref:"loading_progress",progress:e.loading_progress},null,8,["progress"]),c("p",n1t,he(e.loading_infos)+" ...",1)])])])]))]),_:1}),e.isReady?(w(),A("button",{key:0,onClick:t[0]||(t[0]=(...i)=>e.togglePanel&&e.togglePanel(...i)),class:"absolute top-2 left-2 p-3 bg-white bg-opacity-10 rounded-full cursor-pointer transition-all duration-300 hover:scale-110 hover:bg-opacity-20 animate-pulse shadow-lg hover:shadow-xl group"},[G(c("div",null,s1t,512),[[Mt,e.leftPanelCollapsed]]),G(c("div",null,o1t,512),[[Mt,!e.leftPanelCollapsed]])])):V("",!0),e.isReady?(w(),A("button",{key:1,onClick:t[1]||(t[1]=ge(i=>e.triggerRobotAction(),["stop"])),class:"absolute top-2 right-2 p-3 bg-white bg-opacity-10 rounded-full cursor-pointer transition-all duration-300 hover:scale-110 hover:bg-opacity-20 animate-pulse shadow-lg hover:shadow-xl group"},l1t)):V("",!0),Te(Vi,{name:"slide-right"},{default:We(()=>[e.showLeftPanel?(w(),A("div",c1t,[c("div",{id:"leftPanel",class:"flex flex-col flex-grow overflow-y-scroll no-scrollbar",onDragover:t[29]||(t[29]=ge(i=>e.setDropZoneDiscussion(),["stop","prevent"]))},[c("div",d1t,[c("div",u1t,[c("button",{class:"text-2xl hover:text-secondary duration-75 active:scale-90",title:"Create new discussion",type:"button",onClick:t[2]||(t[2]=i=>e.createNewDiscussion())},_1t),c("button",{class:ze(["text-2xl hover:text-secondary duration-75 active:scale-90",e.isCheckbox?"text-secondary":""]),title:"Edit discussion list",type:"button",onClick:t[3]||(t[3]=i=>e.isCheckbox=!e.isCheckbox)},f1t,2),c("button",m1t,[c("i",{"data-feather":"trash-2",onClick:t[4]||(t[4]=ge(()=>{},["stop"]))})]),c("button",{class:"text-2xl hover:text-secondary duration-75 active:scale-90",title:"Export database",type:"button",onClick:t[5]||(t[5]=ge(i=>e.database_selectorDialogVisible=!0,["stop"]))},b1t),c("input",{type:"file",ref:"fileDialog",style:{display:"none"},onChange:t[6]||(t[6]=(...i)=>e.importDiscussions&&e.importDiscussions(...i))},null,544),c("button",{class:"text-2xl hover:text-secondary duration-75 active:scale-90 rotate-90",title:"Import discussions",type:"button",onClick:t[7]||(t[7]=ge(i=>e.$refs.fileDialog.click(),["stop"]))},y1t),c("input",{type:"file",ref:"bundleLoadingDialog",style:{display:"none"},onChange:t[8]||(t[8]=(...i)=>e.importDiscussionsBundle&&e.importDiscussionsBundle(...i))},null,544),e.showSaveConfirmation?V("",!0):(w(),A("button",{key:0,title:"Import discussion bundle",onClick:t[9]||(t[9]=ge(i=>e.$refs.bundleLoadingDialog.click(),["stop"])),class:"text-2xl hover:text-secondary duration-75 active:scale-90"},S1t)),e.isOpen?(w(),A("div",T1t,[c("button",{onClick:t[10]||(t[10]=(...i)=>e.importDiscussions&&e.importDiscussions(...i))},"LOLLMS"),c("button",{onClick:t[11]||(t[11]=(...i)=>e.importChatGPT&&e.importChatGPT(...i))},"ChatGPT")])):V("",!0),c("button",{class:ze(["text-2xl hover:text-secondary duration-75 active:scale-90",e.isSearch?"text-secondary":""]),title:"Filter discussions",type:"button",onClick:t[12]||(t[12]=i=>e.isSearch=!e.isSearch)},C1t,2),e.showSaveConfirmation?(w(),A("div",w1t,[c("button",{class:"text-2xl hover:text-red-600 duration-75 active:scale-90",title:"Cancel",type:"button",onClick:t[13]||(t[13]=ge(i=>e.showSaveConfirmation=!1,["stop"]))},A1t),c("button",{class:"text-2xl hover:text-secondary duration-75 active:scale-90",title:"Confirm save changes",type:"button",onClick:t[14]||(t[14]=ge(i=>e.save_configuration(),["stop"]))},O1t)])):V("",!0),e.loading?V("",!0):(w(),A("button",{key:3,type:"button",onClick:t[15]||(t[15]=ge((...i)=>e.addDiscussion2SkillsLibrary&&e.addDiscussion2SkillsLibrary(...i),["stop"])),title:"Add this discussion content to skills database",class:"w-6 hover:text-secondary duration-75 active:scale-90"},M1t)),!e.loading&&e.$store.state.config.activate_skills_lib?(w(),A("button",{key:4,type:"button",onClick:t[16]||(t[16]=ge((...i)=>e.toggleSkillsLib&&e.toggleSkillsLib(...i),["stop"])),title:"Skills database is activated",class:"w-6 hover:text-secondary duration-75 active:scale-90"},k1t)):V("",!0),!e.loading&&!e.$store.state.config.activate_skills_lib?(w(),A("button",{key:5,type:"button",onClick:t[17]||(t[17]=ge((...i)=>e.toggleSkillsLib&&e.toggleSkillsLib(...i),["stop"])),title:"Skills database is deactivated",class:"w-6 hover:text-secondary duration-75 active:scale-90"},P1t)):V("",!0),e.loading?V("",!0):(w(),A("button",{key:6,type:"button",onClick:t[18]||(t[18]=ge((...i)=>e.showSkillsLib&&e.showSkillsLib(...i),["stop"])),title:"Show Skills database",class:"w-6 hover:text-secondary duration-75 active:scale-90"},F1t)),e.loading?(w(),A("div",B1t,V1t)):V("",!0)]),e.isSearch?(w(),A("div",z1t,[c("div",H1t,[c("div",q1t,[Y1t,c("div",$1t,[c("div",{class:ze(["hover:text-secondary duration-75 active:scale-90",e.filterTitle?"visible":"invisible"]),title:"Clear",onClick:t[19]||(t[19]=i=>e.filterTitle="")},K1t,2)]),G(c("input",{type:"search",id:"default-search",class:"block w-full p-2 pl-10 pr-10 text-sm border border-gray-300 rounded-lg bg-bg-light focus:ring-secondary focus:border-secondary dark:bg-bg-dark dark:border-gray-600 dark:placeholder-gray-400 dark:focus:ring-secondary dark:focus:border-secondary",placeholder:"Search...",title:"Filter discussions by title","onUpdate:modelValue":t[20]||(t[20]=i=>e.filterTitle=i),onInput:t[21]||(t[21]=i=>e.filterDiscussions())},null,544),[[xe,e.filterTitle]])])])])):V("",!0),e.isCheckbox?(w(),A("hr",j1t)):V("",!0),e.isCheckbox?(w(),A("div",Q1t,[c("div",X1t,[e.selectedDiscussions.length>0?(w(),A("p",Z1t,"Selected: "+he(e.selectedDiscussions.length),1)):V("",!0)]),c("div",J1t,[e.selectedDiscussions.length>0?(w(),A("div",ewt,[e.showConfirmation?V("",!0):(w(),A("button",{key:0,class:"flex mx-3 flex-1 text-2xl hover:text-red-600 duration-75 active:scale-90",title:"Remove selected",type:"button",onClick:t[22]||(t[22]=ge(i=>e.showConfirmation=!0,["stop"]))},nwt)),e.showConfirmation?(w(),A("div",iwt,[c("button",{class:"text-2xl hover:text-secondary duration-75 active:scale-90",title:"Confirm removal",type:"button",onClick:t[23]||(t[23]=ge((...i)=>e.deleteDiscussionMulti&&e.deleteDiscussionMulti(...i),["stop"]))},rwt),c("button",{class:"text-2xl hover:text-red-600 duration-75 active:scale-90",title:"Cancel removal",type:"button",onClick:t[24]||(t[24]=ge(i=>e.showConfirmation=!1,["stop"]))},awt)])):V("",!0)])):V("",!0),c("div",lwt,[c("button",{class:"text-2xl hover:text-secondary duration-75 active:scale-90 rotate-90",title:"Export selected to a json file",type:"button",onClick:t[25]||(t[25]=ge((...i)=>e.exportDiscussionsAsJson&&e.exportDiscussionsAsJson(...i),["stop"]))},dwt),c("button",{class:"text-2xl hover:text-secondary duration-75 active:scale-90 rotate-90",title:"Export selected to a martkdown file",type:"button",onClick:t[26]||(t[26]=ge((...i)=>e.exportDiscussions&&e.exportDiscussions(...i),["stop"]))},pwt),c("button",{class:"text-2xl hover:text-secondary duration-75 active:scale-90 rotate-90",title:"Export selected to a martkdown file",type:"button",onClick:t[27]||(t[27]=ge((...i)=>e.exportDiscussionsAsMarkdown&&e.exportDiscussionsAsMarkdown(...i),["stop"]))},hwt),c("button",{class:"text-2xl hover:text-secondary duration-75 active:scale-90",title:"Select All",type:"button",onClick:t[28]||(t[28]=ge((...i)=>e.selectAllDiscussions&&e.selectAllDiscussions(...i),["stop"]))},mwt)])])])):V("",!0)]),c("div",gwt,[c("div",{class:ze(["mx-4 flex flex-col flex-grow w-full",e.isDragOverDiscussion?"pointer-events-none":""])},[c("div",{id:"dis-list",class:ze([e.filterInProgress?"opacity-20 pointer-events-none":"","flex flex-col flex-grow w-full"])},[e.list.length>0?(w(),xt(as,{key:0,name:"list"},{default:We(()=>[(w(!0),A($e,null,lt(e.list,(i,s)=>(w(),xt(RE,{key:i.id,id:i.id,title:i.title,selected:e.currentDiscussion.id==i.id,loading:i.loading,isCheckbox:e.isCheckbox,checkBoxValue:i.checkBoxValue,onSelect:r=>e.selectDiscussion(i),onDelete:r=>e.deleteDiscussion(i.id),onOpenFolder:e.openFolder,onEditTitle:e.editTitle,onMakeTitle:e.makeTitle,onChecked:e.checkUncheckDiscussion},null,8,["id","title","selected","loading","isCheckbox","checkBoxValue","onSelect","onDelete","onOpenFolder","onEditTitle","onMakeTitle","onChecked"]))),128))]),_:1})):V("",!0),e.list.length<1?(w(),A("div",bwt,ywt)):V("",!0),vwt],2)],2)])],32),c("div",{class:"absolute h-15 bottom-0 left-0 w-full bg-bg-light-panel dark:bg-bg-dark-tone light-text-panel py-4 cursor-pointer text-light-text-panel dark:text-dark-text-panel hover:text-secondary",onClick:t[30]||(t[30]=(...i)=>e.showDatabaseSelector&&e.showDatabaseSelector(...i))},[c("p",Swt,he(e.formatted_database_name.replace("_"," ")),1)])])):V("",!0)]),_:1}),e.isReady?(w(),A("div",Twt,[c("div",{id:"messages-list",class:ze(["w-full z-0 flex flex-col flex-grow overflow-y-auto scrollbar-thin scrollbar-track-bg-light-tone scrollbar-thumb-bg-light-tone-panel hover:scrollbar-thumb-primary dark:scrollbar-track-bg-dark-tone dark:scrollbar-thumb-bg-dark-tone-panel dark:hover:scrollbar-thumb-primary active:scrollbar-thumb-secondary",e.isDragOverChat?"pointer-events-none":""])},[c("div",xwt,[e.discussionArr.length>0?(w(),xt(as,{key:0,name:"list"},{default:We(()=>[(w(!0),A($e,null,lt(e.discussionArr,(i,s)=>(w(),xt(EO,{key:i.id,message:i,id:"msg-"+i.id,ref_for:!0,ref:"msg-"+i.id,host:e.host,onCopy:e.copyToClipBoard,onDelete:e.deleteMessage,onRankUp:e.rankUpMessage,onRankDown:e.rankDownMessage,onUpdateMessage:e.updateMessage,onResendMessage:e.resendMessage,onContinueMessage:e.continueMessage,avatar:e.getAvatar(i.sender)},null,8,["message","id","host","onCopy","onDelete","onRankUp","onRankDown","onUpdateMessage","onResendMessage","onContinueMessage","avatar"]))),128))]),_:1})):V("",!0),e.currentDiscussion.id?V("",!0):(w(),xt(vO,{key:1})),Cwt]),wwt],2),e.currentDiscussion.id?(w(),A("div",Rwt,[Te(yO,{ref:"chatBox",loading:e.isGenerating,discussionList:e.discussionArr,"on-show-toast-message":e.showToastMessage,"on-talk":e.talk,onPersonalitySelected:e.recoverFiles,onMessageSentEvent:e.sendMsg,onSendCMDEvent:e.sendCmd,onAddWebLink:e.add_webpage,onCreateEmptyUserMessage:e.createEmptyUserMessage,onCreateEmptyAIMessage:e.createEmptyAIMessage,onStopGenerating:e.stopGenerating,onLoaded:e.recoverFiles},null,8,["loading","discussionList","on-show-toast-message","on-talk","onPersonalitySelected","onMessageSentEvent","onSendCMDEvent","onAddWebLink","onCreateEmptyUserMessage","onCreateEmptyAIMessage","onStopGenerating","onLoaded"])])):V("",!0)])):V("",!0),Te(Vi,{name:"slide-left"},{default:We(()=>[e.showRightPanel?(w(),A("div",Awt,[c("div",Nwt,null,512)])):V("",!0)]),_:1}),Te(wE,{reference:"database_selector",class:"z-20",show:e.database_selectorDialogVisible,choices:e.databases,onChoiceSelected:e.ondatabase_selectorDialogSelected,onCloseDialog:e.onclosedatabase_selectorDialog,onChoiceValidated:e.onvalidatedatabase_selectorChoice},null,8,["show","choices","onChoiceSelected","onCloseDialog","onChoiceValidated"]),G(c("div",Owt,[Te(nc,{ref:"progress",progress:e.progress_value,class:"w-full h-4"},null,8,["progress"]),c("p",Iwt,he(e.loading_infos)+" ...",1)],512),[[Mt,e.progress_visibility]]),Te(mO,{"prompt-text":"Enter the url to the page to use as discussion support",onOk:e.addWebpage,ref:"web_url_input_box"},null,8,["onOk"]),Te(gO,{ref:"skills_lib"},null,512)],64))}}),kwt=bt(Dwt,[["__scopeId","data-v-3268bea4"]]);/** +`+e.message,4,!1)}this.isDragOverChat=!1},async setFileListDiscussion(n){if(n.length>1){this.$store.state.toast.showToast("Failed to import discussions. Too many files",4,!1);return}const e=await this.parseJsonFile(n[0]);await this.import_multiple_discussions(e)?(this.$store.state.toast.showToast("Successfully imported ("+e.length+")",4,!0),await this.list_discussions()):this.$store.state.toast.showToast("Failed to import discussions",4,!1),this.isDragOverDiscussion=!1}},async created(){console.log("Created discussions view");const e=(await Se.get("/get_versionID")).data.versionId;Ye.onopen=()=>{console.log("WebSocket connection established."),this.currentDiscussion!=null&&(this.setPageTitle(item),localStorage.setItem("selected_discussion",this.currentDiscussion.id),this.load_discussion(item.id,()=>{this.discussionArr.length>1&&(this.currentDiscussion.title===""||this.currentDiscussion.title===null)&&this.changeTitleUsingUserMSG(this.currentDiscussion.id,this.discussionArr[1].content)}))},this.versionId!==e&&(this.$store.commit("updateVersionId",e),window.location.reload(!0)),this.$nextTick(()=>{He.replace()}),console.log("Connected to socket io");try{this.$store.state.loading_infos="Getting version",this.$store.state.loading_progress=30,await this.$store.dispatch("getVersion")}catch(t){console.log("Error cought:",t)}try{for(this.$store.state.loading_infos="Loading Configuration";Ye.id===void 0;);this.$store.state.client_id=Ye.id,console.log(this.$store.state.client_id),await this.$store.dispatch("refreshConfig"),console.log("Config ready")}catch(t){console.log("Error cought:",t)}try{this.$store.state.loading_infos="Loading Database",this.$store.state.loading_progress=20,await this.$store.dispatch("refreshDatabase")}catch(t){console.log("Error cought:",t)}try{this.$store.state.loading_infos="Getting Bindings list",this.$store.state.loading_progress=40,await this.$store.dispatch("refreshBindings")}catch(t){console.log("Error cought:",t)}try{this.$store.state.loading_infos="Getting Hardware usage",await refreshHardwareUsage(this.$store)}catch(t){console.log("Error cought:",t)}try{this.$store.state.loading_infos="Getting personalities zoo",this.$store.state.loading_progress=70,await this.$store.dispatch("refreshPersonalitiesZoo")}catch(t){console.log("Error cought:",t)}try{this.$store.state.loading_infos="Getting mounted personalities",this.$store.state.loading_progress=80,await this.$store.dispatch("refreshMountedPersonalities")}catch(t){console.log("Error cought:",t)}try{this.$store.state.loading_infos="Getting models zoo",this.$store.state.loading_progress=90,await this.$store.dispatch("refreshModelsZoo")}catch(t){console.log("Error cought:",t)}try{this.$store.state.loading_infos="Getting active models",this.$store.state.loading_progress=100,await this.$store.dispatch("refreshModels"),await this.$store.dispatch("refreshModelStatus")}catch(t){console.log("Error cought:",t)}try{await this.$store.dispatch("fetchLanguages"),await this.$store.dispatch("fetchLanguage")}catch(t){console.log("Error cought:",t)}try{await this.$store.dispatch("fetchisRTOn")}catch(t){console.log("Error cought:",t)}this.$store.state.isConnected=!0,this.$store.state.client_id=Ye.id,console.log("Ready"),this.setPageTitle(),await this.list_discussions(),this.loadLastUsedDiscussion(),this.isCreated=!0,this.$store.state.ready=!0,Ye.on("connected",this.socketIOConnected),Ye.on("disconnected",this.socketIODisconnected),console.log("Added events"),Ye.on("show_progress",this.show_progress),Ye.on("hide_progress",this.hide_progress),Ye.on("update_progress",this.update_progress),Ye.on("notification",this.notify),Ye.on("new_message",this.new_message),Ye.on("update_message",this.streamMessageContent),Ye.on("close_message",this.finalMsgEvent),Ye.on("disucssion_renamed",t=>{console.log("Received new title",t.discussion_id,t.title);const i=this.list.findIndex(r=>r.id==t.discussion_id),s=this.list[i];s.title=t.title}),Ye.onclose=t=>{console.log("WebSocket connection closed:",t.code,t.reason),this.socketIODisconnected()},Ye.on("connect_error",t=>{t.message==="ERR_CONNECTION_REFUSED"?console.error("Connection refused. The server is not available."):console.error("Connection error:",t),this.$store.state.isConnected=!1}),Ye.onerror=t=>{console.log("WebSocket connection error:",t.code,t.reason),this.socketIODisconnected(),Ye.disconnect()}},async mounted(){Ye.on("refresh_files",()=>{this.recoverFiles()}),this.$nextTick(()=>{He.replace()})},async activated(){for(;this.isReady===!1;)await new Promise(n=>setTimeout(n,100));await this.getPersonalityAvatars(),console.log("Avatars found:",this.personalityAvatars),this.isCreated&&Ge(()=>{const n=document.getElementById("messages-list");this.scrollBottom(n)}),this.$store.state.config.show_news_panel&&this.$store.state.news.show()},components:{Discussion:RE,Message:EO,ChatBox:yO,WelcomeComponent:vO,ChoiceDialog:wE,ProgressBar:nc,InputBox:mO,SkillsLibraryViewer:gO},watch:{messages:{handler:"extractHtml",deep:!0},progress_visibility_val(n){console.log("progress_visibility changed to "+n)},filterTitle(n){n==""&&(this.filterInProgress=!0,this.list=this.tempList,this.filterInProgress=!1)},isCheckbox(n){Ge(()=>{He.replace()}),n||(this.isSelectAll=!1)},socketConnected(n){console.log("Websocket connected (watch)",n)},showConfirmation(){Ge(()=>{He.replace()})},isSearch(){Ge(()=>{He.replace()})}},computed:{...Sk({versionId:n=>n.versionId}),progress_visibility:{get(){return self.progress_visibility_val}},version_info:{get(){return this.$store.state.version!=null&&this.$store.state.version!="unknown"?" v"+this.$store.state.version:""}},loading_infos:{get(){return this.$store.state.loading_infos}},loading_progress:{get(){return this.$store.state.loading_progress}},isModelOk:{get(){return this.$store.state.isModelOk},set(n){this.$store.state.isModelOk=n}},isGenerating:{get(){return this.$store.state.isGenerating},set(n){this.$store.state.isGenerating=n}},formatted_database_name(){return this.$store.state.config.discussion_db_name},UseDiscussionHistory(){return this.$store.state.config.activate_skills_lib},isReady(){return this.$store.state.ready},databases(){return this.$store.state.databases},client_id(){return Ye.id},showLeftPanel(){return this.$store.state.ready&&!this.leftPanelCollapsed},showRightPanel(){return this.$store.state.ready&&!this.rightPanelCollapsed},socketConnected(){return console.log(" --- > Websocket connected"),this.$store.commit("setIsConnected",!0),!0},socketDisconnected(){return this.$store.commit("setIsConnected",!1),console.log(" --- > Websocket disconnected"),!0},selectedDiscussions(){return Ge(()=>{He.replace()}),this.list.filter(n=>n.checkBoxValue==!0)}}},Dwt=Object.assign(Mwt,{__name:"DiscussionsView",setup(n){return Ws(()=>{VO()}),Se.defaults.baseURL="/",(e,t)=>(w(),A($e,null,[Te(Vi,{name:"fade-and-fly"},{default:We(()=>[e.isReady?V("",!0):(w(),A("div",qCt,[c("div",YCt,[c("div",$Ct,[c("div",WCt,[KCt,c("div",jCt,[c("p",QCt,"LoLLMS "+he(e.version_info),1),XCt,ZCt])]),JCt,e1t,c("div",t1t,[Te(nc,{ref:"loading_progress",progress:e.loading_progress},null,8,["progress"]),c("p",n1t,he(e.loading_infos)+" ...",1)])])])]))]),_:1}),e.isReady?(w(),A("button",{key:0,onClick:t[0]||(t[0]=(...i)=>e.togglePanel&&e.togglePanel(...i)),class:"absolute top-2 left-2 p-3 bg-white bg-opacity-10 rounded-full cursor-pointer transition-all duration-300 hover:scale-110 hover:bg-opacity-20 animate-pulse shadow-lg hover:shadow-xl group"},[G(c("div",null,s1t,512),[[Mt,e.leftPanelCollapsed]]),G(c("div",null,o1t,512),[[Mt,!e.leftPanelCollapsed]])])):V("",!0),e.isReady?(w(),A("button",{key:1,onClick:t[1]||(t[1]=ge(i=>e.triggerRobotAction(),["stop"])),class:"absolute top-2 right-2 p-3 bg-white bg-opacity-10 rounded-full cursor-pointer transition-all duration-300 hover:scale-110 hover:bg-opacity-20 animate-pulse shadow-lg hover:shadow-xl group"},l1t)):V("",!0),Te(Vi,{name:"slide-right"},{default:We(()=>[e.showLeftPanel?(w(),A("div",c1t,[c("div",{id:"leftPanel",class:"flex flex-col flex-grow overflow-y-scroll no-scrollbar",onDragover:t[29]||(t[29]=ge(i=>e.setDropZoneDiscussion(),["stop","prevent"]))},[c("div",d1t,[c("div",u1t,[c("button",{class:"text-2xl hover:text-secondary duration-75 active:scale-90",title:"Create new discussion",type:"button",onClick:t[2]||(t[2]=i=>e.createNewDiscussion())},_1t),c("button",{class:ze(["text-2xl hover:text-secondary duration-75 active:scale-90",e.isCheckbox?"text-secondary":""]),title:"Edit discussion list",type:"button",onClick:t[3]||(t[3]=i=>e.isCheckbox=!e.isCheckbox)},f1t,2),c("button",m1t,[c("i",{"data-feather":"trash-2",onClick:t[4]||(t[4]=ge(()=>{},["stop"]))})]),c("button",{class:"text-2xl hover:text-secondary duration-75 active:scale-90",title:"Export database",type:"button",onClick:t[5]||(t[5]=ge(i=>e.database_selectorDialogVisible=!0,["stop"]))},b1t),c("input",{type:"file",ref:"fileDialog",style:{display:"none"},onChange:t[6]||(t[6]=(...i)=>e.importDiscussions&&e.importDiscussions(...i))},null,544),c("button",{class:"text-2xl hover:text-secondary duration-75 active:scale-90 rotate-90",title:"Import discussions",type:"button",onClick:t[7]||(t[7]=ge(i=>e.$refs.fileDialog.click(),["stop"]))},y1t),c("input",{type:"file",ref:"bundleLoadingDialog",style:{display:"none"},onChange:t[8]||(t[8]=(...i)=>e.importDiscussionsBundle&&e.importDiscussionsBundle(...i))},null,544),e.showSaveConfirmation?V("",!0):(w(),A("button",{key:0,title:"Import discussion bundle",onClick:t[9]||(t[9]=ge(i=>e.$refs.bundleLoadingDialog.click(),["stop"])),class:"text-2xl hover:text-secondary duration-75 active:scale-90"},S1t)),e.isOpen?(w(),A("div",T1t,[c("button",{onClick:t[10]||(t[10]=(...i)=>e.importDiscussions&&e.importDiscussions(...i))},"LOLLMS"),c("button",{onClick:t[11]||(t[11]=(...i)=>e.importChatGPT&&e.importChatGPT(...i))},"ChatGPT")])):V("",!0),c("button",{class:ze(["text-2xl hover:text-secondary duration-75 active:scale-90",e.isSearch?"text-secondary":""]),title:"Filter discussions",type:"button",onClick:t[12]||(t[12]=i=>e.isSearch=!e.isSearch)},C1t,2),e.showSaveConfirmation?(w(),A("div",w1t,[c("button",{class:"text-2xl hover:text-red-600 duration-75 active:scale-90",title:"Cancel",type:"button",onClick:t[13]||(t[13]=ge(i=>e.showSaveConfirmation=!1,["stop"]))},A1t),c("button",{class:"text-2xl hover:text-secondary duration-75 active:scale-90",title:"Confirm save changes",type:"button",onClick:t[14]||(t[14]=ge(i=>e.save_configuration(),["stop"]))},O1t)])):V("",!0),e.loading?V("",!0):(w(),A("button",{key:3,type:"button",onClick:t[15]||(t[15]=ge((...i)=>e.addDiscussion2SkillsLibrary&&e.addDiscussion2SkillsLibrary(...i),["stop"])),title:"Add this discussion content to skills database",class:"w-6 hover:text-secondary duration-75 active:scale-90"},M1t)),!e.loading&&e.$store.state.config.activate_skills_lib?(w(),A("button",{key:4,type:"button",onClick:t[16]||(t[16]=ge((...i)=>e.toggleSkillsLib&&e.toggleSkillsLib(...i),["stop"])),title:"Skills database is activated",class:"w-6 hover:text-secondary duration-75 active:scale-90"},k1t)):V("",!0),!e.loading&&!e.$store.state.config.activate_skills_lib?(w(),A("button",{key:5,type:"button",onClick:t[17]||(t[17]=ge((...i)=>e.toggleSkillsLib&&e.toggleSkillsLib(...i),["stop"])),title:"Skills database is deactivated",class:"w-6 hover:text-secondary duration-75 active:scale-90"},P1t)):V("",!0),e.loading?V("",!0):(w(),A("button",{key:6,type:"button",onClick:t[18]||(t[18]=ge((...i)=>e.showSkillsLib&&e.showSkillsLib(...i),["stop"])),title:"Show Skills database",class:"w-6 hover:text-secondary duration-75 active:scale-90"},F1t)),e.loading?(w(),A("div",B1t,V1t)):V("",!0)]),e.isSearch?(w(),A("div",z1t,[c("div",H1t,[c("div",q1t,[Y1t,c("div",$1t,[c("div",{class:ze(["hover:text-secondary duration-75 active:scale-90",e.filterTitle?"visible":"invisible"]),title:"Clear",onClick:t[19]||(t[19]=i=>e.filterTitle="")},K1t,2)]),G(c("input",{type:"search",id:"default-search",class:"block w-full p-2 pl-10 pr-10 text-sm border border-gray-300 rounded-lg bg-bg-light focus:ring-secondary focus:border-secondary dark:bg-bg-dark dark:border-gray-600 dark:placeholder-gray-400 dark:focus:ring-secondary dark:focus:border-secondary",placeholder:"Search...",title:"Filter discussions by title","onUpdate:modelValue":t[20]||(t[20]=i=>e.filterTitle=i),onInput:t[21]||(t[21]=i=>e.filterDiscussions())},null,544),[[xe,e.filterTitle]])])])])):V("",!0),e.isCheckbox?(w(),A("hr",j1t)):V("",!0),e.isCheckbox?(w(),A("div",Q1t,[c("div",X1t,[e.selectedDiscussions.length>0?(w(),A("p",Z1t,"Selected: "+he(e.selectedDiscussions.length),1)):V("",!0)]),c("div",J1t,[e.selectedDiscussions.length>0?(w(),A("div",ewt,[e.showConfirmation?V("",!0):(w(),A("button",{key:0,class:"flex mx-3 flex-1 text-2xl hover:text-red-600 duration-75 active:scale-90",title:"Remove selected",type:"button",onClick:t[22]||(t[22]=ge(i=>e.showConfirmation=!0,["stop"]))},nwt)),e.showConfirmation?(w(),A("div",iwt,[c("button",{class:"text-2xl hover:text-secondary duration-75 active:scale-90",title:"Confirm removal",type:"button",onClick:t[23]||(t[23]=ge((...i)=>e.deleteDiscussionMulti&&e.deleteDiscussionMulti(...i),["stop"]))},rwt),c("button",{class:"text-2xl hover:text-red-600 duration-75 active:scale-90",title:"Cancel removal",type:"button",onClick:t[24]||(t[24]=ge(i=>e.showConfirmation=!1,["stop"]))},awt)])):V("",!0)])):V("",!0),c("div",lwt,[c("button",{class:"text-2xl hover:text-secondary duration-75 active:scale-90 rotate-90",title:"Export selected to a json file",type:"button",onClick:t[25]||(t[25]=ge((...i)=>e.exportDiscussionsAsJson&&e.exportDiscussionsAsJson(...i),["stop"]))},dwt),c("button",{class:"text-2xl hover:text-secondary duration-75 active:scale-90 rotate-90",title:"Export selected to a martkdown file",type:"button",onClick:t[26]||(t[26]=ge((...i)=>e.exportDiscussions&&e.exportDiscussions(...i),["stop"]))},pwt),c("button",{class:"text-2xl hover:text-secondary duration-75 active:scale-90 rotate-90",title:"Export selected to a martkdown file",type:"button",onClick:t[27]||(t[27]=ge((...i)=>e.exportDiscussionsAsMarkdown&&e.exportDiscussionsAsMarkdown(...i),["stop"]))},hwt),c("button",{class:"text-2xl hover:text-secondary duration-75 active:scale-90",title:"Select All",type:"button",onClick:t[28]||(t[28]=ge((...i)=>e.selectAllDiscussions&&e.selectAllDiscussions(...i),["stop"]))},mwt)])])])):V("",!0)]),c("div",gwt,[c("div",{class:ze(["mx-4 flex flex-col flex-grow w-full",e.isDragOverDiscussion?"pointer-events-none":""])},[c("div",{id:"dis-list",class:ze([e.filterInProgress?"opacity-20 pointer-events-none":"","flex flex-col flex-grow w-full"])},[e.list.length>0?(w(),xt(as,{key:0,name:"list"},{default:We(()=>[(w(!0),A($e,null,lt(e.list,(i,s)=>(w(),xt(RE,{key:i.id,id:i.id,title:i.title,selected:e.currentDiscussion.id==i.id,loading:i.loading,isCheckbox:e.isCheckbox,checkBoxValue:i.checkBoxValue,onSelect:r=>e.selectDiscussion(i),onDelete:r=>e.deleteDiscussion(i.id),onOpenFolder:e.openFolder,onEditTitle:e.editTitle,onMakeTitle:e.makeTitle,onChecked:e.checkUncheckDiscussion},null,8,["id","title","selected","loading","isCheckbox","checkBoxValue","onSelect","onDelete","onOpenFolder","onEditTitle","onMakeTitle","onChecked"]))),128))]),_:1})):V("",!0),e.list.length<1?(w(),A("div",bwt,ywt)):V("",!0),vwt],2)],2)])],32),c("div",{class:"absolute h-15 bottom-0 left-0 w-full bg-bg-light-panel dark:bg-bg-dark-tone light-text-panel py-4 cursor-pointer text-light-text-panel dark:text-dark-text-panel hover:text-secondary",onClick:t[30]||(t[30]=(...i)=>e.showDatabaseSelector&&e.showDatabaseSelector(...i))},[c("p",Swt,he(e.formatted_database_name.replace("_"," ")),1)])])):V("",!0)]),_:1}),e.isReady?(w(),A("div",Twt,[c("div",{id:"messages-list",class:ze(["w-full z-0 flex flex-col flex-grow overflow-y-auto scrollbar-thin scrollbar-track-bg-light-tone scrollbar-thumb-bg-light-tone-panel hover:scrollbar-thumb-primary dark:scrollbar-track-bg-dark-tone dark:scrollbar-thumb-bg-dark-tone-panel dark:hover:scrollbar-thumb-primary active:scrollbar-thumb-secondary",e.isDragOverChat?"pointer-events-none":""])},[c("div",xwt,[e.discussionArr.length>0?(w(),xt(as,{key:0,name:"list"},{default:We(()=>[(w(!0),A($e,null,lt(e.discussionArr,(i,s)=>(w(),xt(EO,{key:i.id,message:i,id:"msg-"+i.id,ref_for:!0,ref:"msg-"+i.id,host:e.host,onCopy:e.copyToClipBoard,onDelete:e.deleteMessage,onRankUp:e.rankUpMessage,onRankDown:e.rankDownMessage,onUpdateMessage:e.updateMessage,onResendMessage:e.resendMessage,onContinueMessage:e.continueMessage,avatar:e.getAvatar(i.sender)},null,8,["message","id","host","onCopy","onDelete","onRankUp","onRankDown","onUpdateMessage","onResendMessage","onContinueMessage","avatar"]))),128))]),_:1})):V("",!0),e.currentDiscussion.id?V("",!0):(w(),xt(vO,{key:1})),Cwt]),wwt],2),e.currentDiscussion.id?(w(),A("div",Rwt,[Te(yO,{ref:"chatBox",loading:e.isGenerating,discussionList:e.discussionArr,"on-show-toast-message":e.showToastMessage,"on-talk":e.talk,onPersonalitySelected:e.recoverFiles,onMessageSentEvent:e.sendMsg,onSendCMDEvent:e.sendCmd,onAddWebLink:e.add_webpage,onCreateEmptyUserMessage:e.createEmptyUserMessage,onCreateEmptyAIMessage:e.createEmptyAIMessage,onStopGenerating:e.stopGenerating,onLoaded:e.recoverFiles},null,8,["loading","discussionList","on-show-toast-message","on-talk","onPersonalitySelected","onMessageSentEvent","onSendCMDEvent","onAddWebLink","onCreateEmptyUserMessage","onCreateEmptyAIMessage","onStopGenerating","onLoaded"])])):V("",!0)])):V("",!0),Te(Vi,{name:"slide-left"},{default:We(()=>[e.showRightPanel?(w(),A("div",Awt,[c("div",Nwt,null,512)])):V("",!0)]),_:1}),Te(wE,{reference:"database_selector",class:"z-20",show:e.database_selectorDialogVisible,choices:e.databases,onChoiceSelected:e.ondatabase_selectorDialogSelected,onCloseDialog:e.onclosedatabase_selectorDialog,onChoiceValidated:e.onvalidatedatabase_selectorChoice},null,8,["show","choices","onChoiceSelected","onCloseDialog","onChoiceValidated"]),G(c("div",Owt,[Te(nc,{ref:"progress",progress:e.progress_value,class:"w-full h-4"},null,8,["progress"]),c("p",Iwt,he(e.loading_infos)+" ...",1)],512),[[Mt,e.progress_visibility]]),Te(mO,{"prompt-text":"Enter the url to the page to use as discussion support",onOk:e.addWebpage,ref:"web_url_input_box"},null,8,["onOk"]),Te(gO,{ref:"skills_lib"},null,512)],64))}}),kwt=bt(Dwt,[["__scopeId","data-v-a549407f"]]);/** * @license * Copyright 2010-2023 Three.js Authors * SPDX-License-Identifier: MIT @@ -3908,4 +3908,4 @@ void main() { Please check that you don't accidentally use the same token twice to register two different handlers for the same event/hook.`),this.unsubscribe(e)),this.listenerMap.set(e,t),this._listeners.push(t)}unsubscribe(e){if(this.listenerMap.has(e)){const t=this.listenerMap.get(e);this.listenerMap.delete(e);const i=this._listeners.indexOf(t);i>=0&&this._listeners.splice(i,1)}}registerProxy(e,t){this.proxyMap.has(e)&&(console.warn(`Already subscribed. Unsubscribing for you. Please check that you don't accidentally use the same token twice to register two different proxies for the same event/hook.`),this.unregisterProxy(e)),this.proxyMap.set(e,t),this.proxies.push(t)}unregisterProxy(e){if(!this.proxyMap.has(e))return;const t=this.proxyMap.get(e);this.proxyMap.delete(e);const i=this.proxies.indexOf(t);i>=0&&this.proxies.splice(i,1)}}class qt extends co{constructor(e){super(),this.entity=e}emit(e){this.listeners.forEach(t=>t(e,this.entity))}}class Un extends co{constructor(e){super(),this.entity=e}emit(e){let t=!1;const i=()=>[t=!0];for(const s of Array.from(this.listeners.values()))if(s(e,i,this.entity),t)return{prevented:!0};return{prevented:!1}}}class OI extends co{execute(e,t){let i=e;for(const s of this.listeners)i=s(i,t);return i}}class li extends OI{constructor(e){super(),this.entity=e}execute(e){return super.execute(e,this.entity)}}class ekt extends co{constructor(e){super(),this.entity=e}execute(e){const t=[];for(const i of this.listeners)t.push(i(e,this.entity));return t}}function Xi(){const n=Symbol(),e=new Map,t=new Set,i=(l,u)=>{u instanceof co&&u.registerProxy(n,()=>{var d,h;return(h=(d=e.get(l))===null||d===void 0?void 0:d.listeners)!==null&&h!==void 0?h:[]})},s=l=>{const u=new co;e.set(l,u),t.forEach(d=>i(l,d[l]))},r=l=>{t.add(l);for(const u of e.keys())i(u,l[u])},o=l=>{for(const u of e.keys())l[u]instanceof co&&l[u].unregisterProxy(n);t.delete(l)},a=()=>{t.forEach(l=>o(l)),e.clear()};return new Proxy({},{get(l,u){return u==="addTarget"?r:u==="removeTarget"?o:u==="destroy"?a:typeof u!="string"||u.startsWith("_")?l[u]:(e.has(u)||s(u),e.get(u))}})}class Pw{constructor(e,t){if(this.destructed=!1,this.events={destruct:new qt(this)},!e||!t)throw new Error("Cannot initialize connection with null/undefined for 'from' or 'to' values");this.id=Gs(),this.from=e,this.to=t,this.from.connectionCount++,this.to.connectionCount++}destruct(){this.events.destruct.emit(),this.from.connectionCount--,this.to.connectionCount--,this.destructed=!0}}class II{constructor(e,t){if(!e||!t)throw new Error("Cannot initialize connection with null/undefined for 'from' or 'to' values");this.id=Gs(),this.from=e,this.to=t}}function Eb(n,e){return Object.fromEntries(Object.entries(n).map(([t,i])=>[t,e(i)]))}class MI{constructor(){this._title="",this.id=Gs(),this.events={loaded:new qt(this),beforeAddInput:new Un(this),addInput:new qt(this),beforeRemoveInput:new Un(this),removeInput:new qt(this),beforeAddOutput:new Un(this),addOutput:new qt(this),beforeRemoveOutput:new Un(this),removeOutput:new qt(this),beforeTitleChanged:new Un(this),titleChanged:new qt(this),update:new qt(this)},this.hooks={beforeLoad:new li(this),afterSave:new li(this)}}get graph(){return this.graphInstance}get title(){return this._title}set title(e){this.events.beforeTitleChanged.emit(e).prevented||(this._title=e,this.events.titleChanged.emit(e))}addInput(e,t){return this.addInterface("input",e,t)}addOutput(e,t){return this.addInterface("output",e,t)}removeInput(e){return this.removeInterface("input",e)}removeOutput(e){return this.removeInterface("output",e)}registerGraph(e){this.graphInstance=e}load(e){this.hooks.beforeLoad.execute(e),this.id=e.id,this._title=e.title,Object.entries(e.inputs).forEach(([t,i])=>{this.inputs[t]&&(this.inputs[t].load(i),this.inputs[t].nodeId=this.id)}),Object.entries(e.outputs).forEach(([t,i])=>{this.outputs[t]&&(this.outputs[t].load(i),this.outputs[t].nodeId=this.id)}),this.events.loaded.emit(this)}save(){const e=Eb(this.inputs,s=>s.save()),t=Eb(this.outputs,s=>s.save()),i={type:this.type,id:this.id,title:this.title,inputs:e,outputs:t};return this.hooks.afterSave.execute(i)}onPlaced(){}onDestroy(){}initializeIo(){Object.entries(this.inputs).forEach(([e,t])=>this.initializeIntf("input",e,t)),Object.entries(this.outputs).forEach(([e,t])=>this.initializeIntf("output",e,t))}initializeIntf(e,t,i){i.isInput=e==="input",i.nodeId=this.id,i.events.setValue.subscribe(this,()=>this.events.update.emit({type:e,name:t,intf:i}))}addInterface(e,t,i){const s=e==="input"?this.events.beforeAddInput:this.events.beforeAddOutput,r=e==="input"?this.events.addInput:this.events.addOutput,o=e==="input"?this.inputs:this.outputs;return s.emit(i).prevented?!1:(o[t]=i,this.initializeIntf(e,t,i),r.emit(i),!0)}removeInterface(e,t){const i=e==="input"?this.events.beforeRemoveInput:this.events.beforeRemoveOutput,s=e==="input"?this.events.removeInput:this.events.removeOutput,r=e==="input"?this.inputs[t]:this.outputs[t];if(!r||i.emit(r).prevented)return!1;if(r.connectionCount>0)if(this.graphInstance)this.graphInstance.connections.filter(a=>a.from===r||a.to===r).forEach(a=>{this.graphInstance.removeConnection(a)});else throw new Error("Interface is connected, but no graph instance is specified. Unable to delete interface");return r.events.setValue.unsubscribe(this),e==="input"?delete this.inputs[t]:delete this.outputs[t],s.emit(r),!0}}let DI=class extends MI{load(e){super.load(e)}save(){return super.save()}};function Ja(n){return class extends DI{constructor(){var e,t;super(),this.type=n.type,this.inputs={},this.outputs={},this.calculate=n.calculate?(i,s)=>n.calculate.call(this,i,s):void 0,this._title=(e=n.title)!==null&&e!==void 0?e:n.type,this.executeFactory("input",n.inputs),this.executeFactory("output",n.outputs),(t=n.onCreate)===null||t===void 0||t.call(this)}onPlaced(){var e;(e=n.onPlaced)===null||e===void 0||e.call(this)}onDestroy(){var e;(e=n.onDestroy)===null||e===void 0||e.call(this)}executeFactory(e,t){Object.keys(t||{}).forEach(i=>{const s=t[i]();e==="input"?this.addInput(i,s):this.addOutput(i,s)})}}}class nn{set connectionCount(e){this._connectionCount=e,this.events.setConnectionCount.emit(e)}get connectionCount(){return this._connectionCount}set value(e){this.events.beforeSetValue.emit(e).prevented||(this._value=e,this.events.setValue.emit(e))}get value(){return this._value}constructor(e,t){this.id=Gs(),this.nodeId="",this.port=!0,this.hidden=!1,this.events={setConnectionCount:new qt(this),beforeSetValue:new Un(this),setValue:new qt(this),updated:new qt(this)},this.hooks={load:new li(this),save:new li(this)},this._connectionCount=0,this.name=e,this._value=t}load(e){this.id=e.id,this.templateId=e.templateId,this.value=e.value,this.hooks.load.execute(e)}save(){const e={id:this.id,templateId:this.templateId,value:this.value};return this.hooks.save.execute(e)}setComponent(e){return this.component=e,this}setPort(e){return this.port=e,this}setHidden(e){return this.hidden=e,this}use(e,...t){return e(this,...t),this}}const Da="__baklava_SubgraphInputNode",ka="__baklava_SubgraphOutputNode";class kI extends DI{constructor(){super(),this.graphInterfaceId=Gs()}onPlaced(){super.onPlaced(),this.initializeIo()}save(){return{...super.save(),graphInterfaceId:this.graphInterfaceId}}load(e){super.load(e),this.graphInterfaceId=e.graphInterfaceId}}class LI extends kI{constructor(){super(...arguments),this.type=Da,this.inputs={name:new nn("Name","Input")},this.outputs={placeholder:new nn("Value",void 0)}}static isGraphInputNode(e){return e.type===Da}}class PI extends kI{constructor(){super(...arguments),this.type=ka,this.inputs={name:new nn("Name","Output"),placeholder:new nn("Value",void 0)},this.outputs={output:new nn("Output",void 0).setHidden(!0)},this.calculate=({placeholder:e})=>({output:e})}static isGraphOutputNode(e){return e.type===ka}}class Sc{get nodes(){return this._nodes}get connections(){return this._connections}get loading(){return this._loading}get destroying(){return this._destroying}get inputs(){return this.nodes.filter(t=>t.type===Da).map(t=>({id:t.graphInterfaceId,name:t.inputs.name.value,nodeId:t.id,nodeInterfaceId:t.outputs.placeholder.id}))}get outputs(){return this.nodes.filter(t=>t.type===ka).map(t=>({id:t.graphInterfaceId,name:t.inputs.name.value,nodeId:t.id,nodeInterfaceId:t.outputs.output.id}))}constructor(e,t){this.id=Gs(),this.activeTransactions=0,this._nodes=[],this._connections=[],this._loading=!1,this._destroying=!1,this.events={beforeAddNode:new Un(this),addNode:new qt(this),beforeRemoveNode:new Un(this),removeNode:new qt(this),beforeAddConnection:new Un(this),addConnection:new qt(this),checkConnection:new Un(this),beforeRemoveConnection:new Un(this),removeConnection:new qt(this)},this.hooks={save:new li(this),load:new li(this),checkConnection:new ekt(this)},this.nodeEvents=Xi(),this.nodeHooks=Xi(),this.connectionEvents=Xi(),this.editor=e,this.template=t,e.registerGraph(this)}addNode(e){if(!this.events.beforeAddNode.emit(e).prevented)return this.nodeEvents.addTarget(e.events),this.nodeHooks.addTarget(e.hooks),e.registerGraph(this),this._nodes.push(e),e=this.nodes.find(t=>t.id===e.id),e.onPlaced(),this.events.addNode.emit(e),e}removeNode(e){if(this.nodes.includes(e)){if(this.events.beforeRemoveNode.emit(e).prevented)return;const t=[...Object.values(e.inputs),...Object.values(e.outputs)];this.connections.filter(i=>t.includes(i.from)||t.includes(i.to)).forEach(i=>this.removeConnection(i)),this._nodes.splice(this.nodes.indexOf(e),1),this.events.removeNode.emit(e),e.onDestroy(),this.nodeEvents.removeTarget(e.events),this.nodeHooks.removeTarget(e.hooks)}}addConnection(e,t){const i=this.checkConnection(e,t);if(!i.connectionAllowed||this.events.beforeAddConnection.emit({from:e,to:t}).prevented)return;for(const r of i.connectionsInDanger){const o=this.connections.find(a=>a.id===r.id);o&&this.removeConnection(o)}const s=new Pw(i.dummyConnection.from,i.dummyConnection.to);return this.internalAddConnection(s),s}removeConnection(e){if(this.connections.includes(e)){if(this.events.beforeRemoveConnection.emit(e).prevented)return;e.destruct(),this._connections.splice(this.connections.indexOf(e),1),this.events.removeConnection.emit(e),this.connectionEvents.removeTarget(e.events)}}checkConnection(e,t){if(!e||!t)return{connectionAllowed:!1};const i=this.findNodeById(e.nodeId),s=this.findNodeById(t.nodeId);if(i&&s&&i===s)return{connectionAllowed:!1};if(e.isInput&&!t.isInput){const a=e;e=t,t=a}if(e.isInput||!t.isInput)return{connectionAllowed:!1};if(this.connections.some(a=>a.from===e&&a.to===t))return{connectionAllowed:!1};if(this.events.checkConnection.emit({from:e,to:t}).prevented)return{connectionAllowed:!1};const r=this.hooks.checkConnection.execute({from:e,to:t});if(r.some(a=>!a.connectionAllowed))return{connectionAllowed:!1};const o=Array.from(new Set(r.flatMap(a=>a.connectionsInDanger)));return{connectionAllowed:!0,dummyConnection:new II(e,t),connectionsInDanger:o}}findNodeInterface(e){for(const t of this.nodes){for(const i in t.inputs){const s=t.inputs[i];if(s.id===e)return s}for(const i in t.outputs){const s=t.outputs[i];if(s.id===e)return s}}}findNodeById(e){return this.nodes.find(t=>t.id===e)}load(e){try{this._loading=!0;const t=[];for(let i=this.connections.length-1;i>=0;i--)this.removeConnection(this.connections[i]);for(let i=this.nodes.length-1;i>=0;i--)this.removeNode(this.nodes[i]);this.id=e.id;for(const i of e.nodes){const s=this.editor.nodeTypes.get(i.type);if(!s){t.push(`Node type ${i.type} is not registered`);continue}const r=new s.type;this.addNode(r),r.load(i)}for(const i of e.connections){const s=this.findNodeInterface(i.from),r=this.findNodeInterface(i.to);if(s)if(r){const o=new Pw(s,r);o.id=i.id,this.internalAddConnection(o)}else{t.push(`Could not find interface with id ${i.to}`);continue}else{t.push(`Could not find interface with id ${i.from}`);continue}}return this.hooks.load.execute(e),t}finally{this._loading=!1}}save(){const e={id:this.id,nodes:this.nodes.map(t=>t.save()),connections:this.connections.map(t=>({id:t.id,from:t.from.id,to:t.to.id})),inputs:this.inputs,outputs:this.outputs};return this.hooks.save.execute(e)}destroy(){this._destroying=!0;for(const e of this.nodes)this.removeNode(e);this.editor.unregisterGraph(this)}internalAddConnection(e){this.connectionEvents.addTarget(e.events),this._connections.push(e),this.events.addConnection.emit(e)}}const lc="__baklava_GraphNode-";function La(n){return lc+n.id}function tkt(n){return class extends MI{constructor(){super(...arguments),this.type=La(n),this.inputs={},this.outputs={},this.template=n,this.calculate=async(t,i)=>{var s;if(!this.subgraph)throw new Error(`GraphNode ${this.id}: calculate called without subgraph being initialized`);if(!i.engine||typeof i.engine!="object")throw new Error(`GraphNode ${this.id}: calculate called but no engine provided in context`);const r=i.engine.getInputValues(this.subgraph);for(const l of this.subgraph.inputs)r.set(l.nodeInterfaceId,t[l.id]);const o=await i.engine.runGraph(this.subgraph,r,i.globalValues),a={};for(const l of this.subgraph.outputs)a[l.id]=(s=o.get(l.nodeId))===null||s===void 0?void 0:s.get("output");return a._calculationResults=o,a}}get title(){return this._title}set title(t){this.template.name=t}load(t){if(!this.subgraph)throw new Error("Cannot load a graph node without a graph");if(!this.template)throw new Error("Unable to load graph node without graph template");this.subgraph.load(t.graphState),super.load(t)}save(){if(!this.subgraph)throw new Error("Cannot save a graph node without a graph");return{...super.save(),graphState:this.subgraph.save()}}onPlaced(){this.template.events.updated.subscribe(this,()=>this.initialize()),this.template.events.nameChanged.subscribe(this,t=>{this._title=t}),this.initialize()}onDestroy(){var t;this.template.events.updated.unsubscribe(this),this.template.events.nameChanged.unsubscribe(this),(t=this.subgraph)===null||t===void 0||t.destroy()}initialize(){this.subgraph&&this.subgraph.destroy(),this.subgraph=this.template.createGraph(),this._title=this.template.name,this.updateInterfaces(),this.events.update.emit(null)}updateInterfaces(){if(!this.subgraph)throw new Error("Trying to update interfaces without graph instance");for(const t of this.subgraph.inputs)t.id in this.inputs?this.inputs[t.id].name=t.name:this.addInput(t.id,new nn(t.name,void 0));for(const t of Object.keys(this.inputs))this.subgraph.inputs.some(i=>i.id===t)||this.removeInput(t);for(const t of this.subgraph.outputs)t.id in this.outputs?this.outputs[t.id].name=t.name:this.addOutput(t.id,new nn(t.name,void 0));for(const t of Object.keys(this.outputs))this.subgraph.outputs.some(i=>i.id===t)||this.removeOutput(t);this.addOutput("_calculationResults",new nn("_calculationResults",void 0).setHidden(!0))}}}class fp{static fromGraph(e,t){return new fp(e.save(),t)}get name(){return this._name}set name(e){this._name=e,this.events.nameChanged.emit(e);const t=this.editor.nodeTypes.get(La(this));t&&(t.title=e)}get inputs(){return this.nodes.filter(t=>t.type===Da).map(t=>({id:t.graphInterfaceId,name:t.inputs.name.value,nodeId:t.id,nodeInterfaceId:t.outputs.placeholder.id}))}get outputs(){return this.nodes.filter(t=>t.type===ka).map(t=>({id:t.graphInterfaceId,name:t.inputs.name.value,nodeId:t.id,nodeInterfaceId:t.outputs.output.id}))}constructor(e,t){this.id=Gs(),this._name="Subgraph",this.events={nameChanged:new qt(this),updated:new qt(this)},this.hooks={beforeLoad:new li(this),afterSave:new li(this)},this.editor=t,e.id&&(this.id=e.id),e.name&&(this._name=e.name),this.update(e)}update(e){this.nodes=e.nodes,this.connections=e.connections,this.events.updated.emit()}save(){return{id:this.id,name:this.name,nodes:this.nodes,connections:this.connections,inputs:this.inputs,outputs:this.outputs}}createGraph(e){const t=new Map,i=f=>{const _=Gs();return t.set(f,_),_},s=f=>{const _=t.get(f);if(!_)throw new Error(`Unable to create graph from template: Could not map old id ${f} to new id`);return _},r=f=>Eb(f,_=>({id:i(_.id),templateId:_.id,value:_.value})),o=this.nodes.map(f=>({...f,id:i(f.id),inputs:r(f.inputs),outputs:r(f.outputs)})),a=this.connections.map(f=>({id:i(f.id),from:s(f.from),to:s(f.to)})),l=this.inputs.map(f=>({id:f.id,name:f.name,nodeId:s(f.nodeId),nodeInterfaceId:s(f.nodeInterfaceId)})),u=this.outputs.map(f=>({id:f.id,name:f.name,nodeId:s(f.nodeId),nodeInterfaceId:s(f.nodeInterfaceId)})),d={id:Gs(),nodes:o,connections:a,inputs:l,outputs:u};return e||(e=new Sc(this.editor)),e.load(d).forEach(f=>console.warn(f)),e.template=this,e}}class nkt{get nodeTypes(){return this._nodeTypes}get graph(){return this._graph}get graphTemplates(){return this._graphTemplates}get graphs(){return this._graphs}get loading(){return this._loading}constructor(){this.events={loaded:new qt(this),beforeRegisterNodeType:new Un(this),registerNodeType:new qt(this),beforeUnregisterNodeType:new Un(this),unregisterNodeType:new qt(this),beforeAddGraphTemplate:new Un(this),addGraphTemplate:new qt(this),beforeRemoveGraphTemplate:new Un(this),removeGraphTemplate:new qt(this),registerGraph:new qt(this),unregisterGraph:new qt(this)},this.hooks={save:new li(this),load:new li(this)},this.graphTemplateEvents=Xi(),this.graphTemplateHooks=Xi(),this.graphEvents=Xi(),this.graphHooks=Xi(),this.nodeEvents=Xi(),this.nodeHooks=Xi(),this.connectionEvents=Xi(),this._graphs=new Set,this._nodeTypes=new Map,this._graph=new Sc(this),this._graphTemplates=[],this._loading=!1,this.registerNodeType(LI),this.registerNodeType(PI)}registerNodeType(e,t){var i,s;if(this.events.beforeRegisterNodeType.emit({type:e,options:t}).prevented)return;const r=new e;this._nodeTypes.set(r.type,{type:e,category:(i=t==null?void 0:t.category)!==null&&i!==void 0?i:"default",title:(s=t==null?void 0:t.title)!==null&&s!==void 0?s:r.title}),this.events.registerNodeType.emit({type:e,options:t})}unregisterNodeType(e){const t=typeof e=="string"?e:new e().type;if(this.nodeTypes.has(t)){if(this.events.beforeUnregisterNodeType.emit(t).prevented)return;this._nodeTypes.delete(t),this.events.unregisterNodeType.emit(t)}}addGraphTemplate(e){if(this.events.beforeAddGraphTemplate.emit(e).prevented)return;this._graphTemplates.push(e),this.graphTemplateEvents.addTarget(e.events),this.graphTemplateHooks.addTarget(e.hooks);const t=tkt(e);this.registerNodeType(t,{category:"Subgraphs",title:e.name}),this.events.addGraphTemplate.emit(e)}removeGraphTemplate(e){if(this.graphTemplates.includes(e)){if(this.events.beforeRemoveGraphTemplate.emit(e).prevented)return;const t=La(e);for(const i of[this.graph,...this.graphs.values()]){const s=i.nodes.filter(r=>r.type===t);for(const r of s)i.removeNode(r)}this.unregisterNodeType(t),this._graphTemplates.splice(this._graphTemplates.indexOf(e),1),this.graphTemplateEvents.removeTarget(e.events),this.graphTemplateHooks.removeTarget(e.hooks),this.events.removeGraphTemplate.emit(e)}}registerGraph(e){this.graphEvents.addTarget(e.events),this.graphHooks.addTarget(e.hooks),this.nodeEvents.addTarget(e.nodeEvents),this.nodeHooks.addTarget(e.nodeHooks),this.connectionEvents.addTarget(e.connectionEvents),this.events.registerGraph.emit(e),this._graphs.add(e)}unregisterGraph(e){this.graphEvents.removeTarget(e.events),this.graphHooks.removeTarget(e.hooks),this.nodeEvents.removeTarget(e.nodeEvents),this.nodeHooks.removeTarget(e.nodeHooks),this.connectionEvents.removeTarget(e.connectionEvents),this.events.unregisterGraph.emit(e),this._graphs.delete(e)}load(e){try{this._loading=!0,e=this.hooks.load.execute(e),e.graphTemplates.forEach(i=>{const s=new fp(i,this);this.addGraphTemplate(s)});const t=this._graph.load(e.graph);return this.events.loaded.emit(),t.forEach(i=>console.warn(i)),t}finally{this._loading=!1}}save(){const e={graph:this.graph.save(),graphTemplates:this.graphTemplates.map(t=>t.save())};return this.hooks.save.execute(e)}}function ikt(n,e){const t=new Map;e.graphs.forEach(i=>{i.nodes.forEach(s=>t.set(s.id,s))}),n.forEach((i,s)=>{const r=t.get(s);r&&i.forEach((o,a)=>{const l=r.outputs[a];l&&(l.value=o)})})}class UI extends Error{constructor(){super("Cycle detected")}}function skt(n){return typeof n=="string"}function FI(n,e){const t=new Map,i=new Map,s=new Map;let r,o;if(n instanceof Sc)r=n.nodes,o=n.connections;else{if(!e)throw new Error("Invalid argument value: expected array of connections");r=n,o=e}r.forEach(u=>{Object.values(u.inputs).forEach(d=>t.set(d.id,u.id)),Object.values(u.outputs).forEach(d=>t.set(d.id,u.id))}),r.forEach(u=>{const d=o.filter(f=>f.from&&t.get(f.from.id)===u.id),h=new Set(d.map(f=>t.get(f.to.id)).filter(skt));i.set(u.id,h),s.set(u,d)});const a=r.slice();o.forEach(u=>{const d=a.findIndex(h=>t.get(u.to.id)===h.id);d>=0&&a.splice(d,1)});const l=[];for(;a.length>0;){const u=a.pop();l.push(u);const d=i.get(u.id);for(;d.size>0;){const h=d.values().next().value;if(d.delete(h),Array.from(i.values()).every(f=>!f.has(h))){const f=r.find(_=>_.id===h);a.push(f)}}}if(Array.from(i.values()).some(u=>u.size>0))throw new UI;return{calculationOrder:l,connectionsFromNode:s,interfaceIdToNodeId:t}}function rkt(n,e){try{return FI(n,e),!1}catch(t){if(t instanceof UI)return!0;throw t}}var Kn;(function(n){n.Running="Running",n.Idle="Idle",n.Paused="Paused",n.Stopped="Stopped"})(Kn||(Kn={}));class okt{get status(){return this.isRunning?Kn.Running:this.internalStatus}constructor(e){this.editor=e,this.events={beforeRun:new Un(this),afterRun:new qt(this),statusChange:new qt(this),beforeNodeCalculation:new qt(this),afterNodeCalculation:new qt(this)},this.hooks={gatherCalculationData:new li(this),transferData:new OI},this.recalculateOrder=!0,this.internalStatus=Kn.Stopped,this.isRunning=!1,this.editor.nodeEvents.update.subscribe(this,(t,i)=>{i.graph&&!i.graph.loading&&i.graph.activeTransactions===0&&this.internalOnChange(i,t??void 0)}),this.editor.graphEvents.addNode.subscribe(this,(t,i)=>{this.recalculateOrder=!0,!i.loading&&i.activeTransactions===0&&this.internalOnChange()}),this.editor.graphEvents.removeNode.subscribe(this,(t,i)=>{this.recalculateOrder=!0,!i.loading&&i.activeTransactions===0&&this.internalOnChange()}),this.editor.graphEvents.addConnection.subscribe(this,(t,i)=>{this.recalculateOrder=!0,!i.loading&&i.activeTransactions===0&&this.internalOnChange()}),this.editor.graphEvents.removeConnection.subscribe(this,(t,i)=>{this.recalculateOrder=!0,!i.loading&&i.activeTransactions===0&&this.internalOnChange()}),this.editor.graphHooks.checkConnection.subscribe(this,t=>this.checkConnection(t.from,t.to))}start(){this.internalStatus===Kn.Stopped&&(this.internalStatus=Kn.Idle,this.events.statusChange.emit(this.status))}pause(){this.internalStatus===Kn.Idle&&(this.internalStatus=Kn.Paused,this.events.statusChange.emit(this.status))}resume(){this.internalStatus===Kn.Paused&&(this.internalStatus=Kn.Idle,this.events.statusChange.emit(this.status))}stop(){(this.internalStatus===Kn.Idle||this.internalStatus===Kn.Paused)&&(this.internalStatus=Kn.Stopped,this.events.statusChange.emit(this.status))}async runOnce(e,...t){if(this.events.beforeRun.emit(e).prevented)return null;try{this.isRunning=!0,this.events.statusChange.emit(this.status),this.recalculateOrder&&this.calculateOrder();const i=await this.execute(e,...t);return this.events.afterRun.emit(i),i}finally{this.isRunning=!1,this.events.statusChange.emit(this.status)}}checkConnection(e,t){if(e.templateId){const r=this.findInterfaceByTemplateId(this.editor.graph.nodes,e.templateId);if(!r)return{connectionAllowed:!0,connectionsInDanger:[]};e=r}if(t.templateId){const r=this.findInterfaceByTemplateId(this.editor.graph.nodes,t.templateId);if(!r)return{connectionAllowed:!0,connectionsInDanger:[]};t=r}const i=new II(e,t);let s=this.editor.graph.connections.slice();return t.allowMultipleConnections||(s=s.filter(r=>r.to!==t)),s.push(i),rkt(this.editor.graph.nodes,s)?{connectionAllowed:!1,connectionsInDanger:[]}:{connectionAllowed:!0,connectionsInDanger:t.allowMultipleConnections?[]:this.editor.graph.connections.filter(r=>r.to===t)}}calculateOrder(){this.recalculateOrder=!0}async calculateWithoutData(...e){const t=this.hooks.gatherCalculationData.execute(void 0);return await this.runOnce(t,...e)}validateNodeCalculationOutput(e,t){if(typeof t!="object")throw new Error(`Invalid calculation return value from node ${e.id} (type ${e.type})`);Object.keys(e.outputs).forEach(i=>{if(!(i in t))throw new Error(`Calculation return value from node ${e.id} (type ${e.type}) is missing key "${i}"`)})}internalOnChange(e,t){this.internalStatus===Kn.Idle&&this.onChange(this.recalculateOrder,e,t)}findInterfaceByTemplateId(e,t){for(const i of e)for(const s of[...Object.values(i.inputs),...Object.values(i.outputs)])if(s.templateId===t)return s;return null}}class akt extends okt{constructor(e){super(e),this.order=new Map}start(){super.start(),this.recalculateOrder=!0,this.calculateWithoutData()}async runGraph(e,t,i){this.order.has(e.id)||this.order.set(e.id,FI(e));const{calculationOrder:s,connectionsFromNode:r}=this.order.get(e.id),o=new Map;for(const a of s){const l={};Object.entries(a.inputs).forEach(([d,h])=>{l[d]=this.getInterfaceValue(t,h.id)}),this.events.beforeNodeCalculation.emit({inputValues:l,node:a});let u;if(a.calculate)u=await a.calculate(l,{globalValues:i,engine:this});else{u={};for(const[d,h]of Object.entries(a.outputs))u[d]=this.getInterfaceValue(t,h.id)}this.validateNodeCalculationOutput(a,u),this.events.afterNodeCalculation.emit({outputValues:u,node:a}),o.set(a.id,new Map(Object.entries(u))),r.has(a)&&r.get(a).forEach(d=>{var h;const f=(h=Object.entries(a.outputs).find(([,m])=>m.id===d.from.id))===null||h===void 0?void 0:h[0];if(!f)throw new Error(`Could not find key for interface ${d.from.id} This is likely a Baklava internal issue. Please report it on GitHub.`);const _=this.hooks.transferData.execute(u[f],d);d.to.allowMultipleConnections?t.has(d.to.id)?t.get(d.to.id).push(_):t.set(d.to.id,[_]):t.set(d.to.id,_)})}return o}async execute(e){this.recalculateOrder&&(this.order.clear(),this.recalculateOrder=!1);const t=this.getInputValues(this.editor.graph);return await this.runGraph(this.editor.graph,t,e)}getInputValues(e){const t=new Map;for(const i of e.nodes)Object.values(i.inputs).forEach(s=>{s.connectionCount===0&&t.set(s.id,s.value)}),i.calculate||Object.values(i.outputs).forEach(s=>{t.set(s.id,s.value)});return t}onChange(e){this.recalculateOrder=e||this.recalculateOrder,this.calculateWithoutData()}getInterfaceValue(e,t){if(!e.has(t))throw new Error(`Could not find value for interface ${t} -This is likely a Baklava internal issue. Please report it on GitHub.`);return e.get(t)}}let yb=null;function lkt(n){yb=n}function Oi(){if(!yb)throw new Error("providePlugin() must be called before usePlugin()");return{viewModel:yb}}function Ki(){const{viewModel:n}=Oi();return{graph:$d(n.value,"displayedGraph"),switchGraph:n.value.switchGraph}}function BI(n){const{graph:e}=Ki(),t=ft(null),i=ft(null);return{dragging:st(()=>!!t.value),onPointerDown:l=>{t.value={x:l.pageX,y:l.pageY},i.value={x:n.value.x,y:n.value.y}},onPointerMove:l=>{if(t.value){const u=l.pageX-t.value.x,d=l.pageY-t.value.y;n.value.x=i.value.x+u/e.value.scaling,n.value.y=i.value.y+d/e.value.scaling}},onPointerUp:()=>{t.value=null,i.value=null}}}function GI(n,e,t){if(!e.template)return!1;if(La(e.template)===t)return!0;const i=n.graphTemplates.find(r=>La(r)===t);return i?i.nodes.filter(r=>r.type.startsWith(lc)).some(r=>GI(n,e,r.type)):!1}function VI(n){return st(()=>{const e=Array.from(n.value.editor.nodeTypes.entries()),t=new Set(e.map(([,s])=>s.category)),i=[];for(const s of t.values()){let r=e.filter(([,o])=>o.category===s);n.value.displayedGraph.template?r=r.filter(([o])=>!GI(n.value.editor,n.value.displayedGraph,o)):r=r.filter(([o])=>![Da,ka].includes(o)),r.length>0&&i.push({name:s,nodeTypes:Object.fromEntries(r)})}return i.sort((s,r)=>s.name==="default"?-1:r.name==="default"||s.name>r.name?1:-1),i})}function zI(){const{graph:n}=Ki();return{transform:(t,i)=>{const s=t/n.value.scaling-n.value.panning.x,r=i/n.value.scaling-n.value.panning.y;return[s,r]}}}function ckt(){const{graph:n}=Ki();let e=[],t=-1,i={x:0,y:0};const s=st(()=>n.value.panning),r=BI(s),o=st(()=>({"transform-origin":"0 0",transform:`scale(${n.value.scaling}) translate(${n.value.panning.x}px, ${n.value.panning.y}px)`})),a=(_,m,E)=>{const b=[_/n.value.scaling-n.value.panning.x,m/n.value.scaling-n.value.panning.y],g=[_/E-n.value.panning.x,m/E-n.value.panning.y],y=[g[0]-b[0],g[1]-b[1]];n.value.panning.x+=y[0],n.value.panning.y+=y[1],n.value.scaling=E},l=_=>{_.preventDefault();let m=_.deltaY;_.deltaMode===1&&(m*=32);const E=n.value.scaling*(1-m/3e3);a(_.offsetX,_.offsetY,E)},u=()=>({ax:e[0].clientX,ay:e[0].clientY,bx:e[1].clientX,by:e[1].clientY});return{styles:o,...r,onPointerDown:_=>{if(e.push(_),r.onPointerDown(_),e.length===2){const{ax:m,ay:E,bx:b,by:g}=u();i={x:m+(b-m)/2,y:E+(g-E)/2}}},onPointerMove:_=>{for(let m=0;m0){const C=n.value.scaling*(1+(S-t)/500);a(i.x,i.y,C)}t=S}else r.onPointerMove(_)},onPointerUp:_=>{e=e.filter(m=>m.pointerId!==_.pointerId),t=-1,r.onPointerUp()},onMouseWheel:l}}var Ei=(n=>(n[n.NONE=0]="NONE",n[n.ALLOWED=1]="ALLOWED",n[n.FORBIDDEN=2]="FORBIDDEN",n))(Ei||{});const HI=Symbol();function dkt(){const{graph:n}=Ki(),e=ft(null),t=ft(null),i=a=>{e.value&&(e.value.mx=a.offsetX/n.value.scaling-n.value.panning.x,e.value.my=a.offsetY/n.value.scaling-n.value.panning.y)},s=()=>{if(t.value){if(e.value)return;const a=n.value.connections.find(l=>l.to===t.value);t.value.isInput&&a?(e.value={status:Ei.NONE,from:a.from},n.value.removeConnection(a)):e.value={status:Ei.NONE,from:t.value},e.value.mx=void 0,e.value.my=void 0}},r=()=>{if(e.value&&t.value){if(e.value.from===t.value)return;n.value.addConnection(e.value.from,e.value.to)}e.value=null},o=a=>{if(t.value=a??null,a&&e.value){e.value.to=a;const l=n.value.checkConnection(e.value.from,e.value.to);if(e.value.status=l.connectionAllowed?Ei.ALLOWED:Ei.FORBIDDEN,l.connectionAllowed){const u=l.connectionsInDanger.map(d=>d.id);n.value.connections.forEach(d=>{u.includes(d.id)&&(d.isInDanger=!0)})}}else!a&&e.value&&(e.value.to=void 0,e.value.status=Ei.NONE,n.value.connections.forEach(l=>{l.isInDanger=!1}))};return sa(HI,{temporaryConnection:e,hoveredOver:o}),{temporaryConnection:e,onMouseMove:i,onMouseDown:s,onMouseUp:r,hoveredOver:o}}function ukt(n){const e=ft(!1),t=ft(0),i=ft(0),s=VI(n),{transform:r}=zI(),o=st(()=>{let d=[];const h={};for(const _ of s.value){const m=Object.entries(_.nodeTypes).map(([E,b])=>({label:b.title,value:"addNode:"+E}));_.name==="default"?d=m:h[_.name]=m}const f=[...Object.entries(h).map(([_,m])=>({label:_,submenu:m}))];return f.length>0&&d.length>0&&f.push({isDivider:!0}),f.push(...d),f}),a=st(()=>n.value.settings.contextMenu.additionalItems.length===0?o.value:[{label:"Add node",submenu:o.value},...n.value.settings.contextMenu.additionalItems.map(d=>"isDivider"in d||"submenu"in d?d:{label:d.label,value:"command:"+d.command,disabled:!n.value.commandHandler.canExecuteCommand(d.command)})]);function l(d){e.value=!0,t.value=d.offsetX,i.value=d.offsetY}function u(d){if(d.startsWith("addNode:")){const h=d.substring(8),f=n.value.editor.nodeTypes.get(h);if(!f)return;const _=ei(new f.type);n.value.displayedGraph.addNode(_);const[m,E]=r(t.value,i.value);_.position.x=m,_.position.y=E}else if(d.startsWith("command:")){const h=d.substring(8);n.value.commandHandler.canExecuteCommand(h)&&n.value.commandHandler.executeCommand(h)}}return{show:e,x:t,y:i,items:a,open:l,onClick:u}}const pkt=_n({setup(){const{viewModel:n}=Oi(),{graph:e}=Ki();return{styles:st(()=>{const i=n.value.settings.background,s=e.value.panning.x*e.value.scaling,r=e.value.panning.y*e.value.scaling,o=e.value.scaling*i.gridSize,a=o/i.gridDivision,l=`${o}px ${o}px, ${o}px ${o}px`,u=e.value.scaling>i.subGridVisibleThreshold?`, ${a}px ${a}px, ${a}px ${a}px`:"";return{backgroundPosition:`left ${s}px top ${r}px`,backgroundSize:`${l} ${u}`}})}}}),hn=(n,e)=>{const t=n.__vccOpts||n;for(const[i,s]of e)t[i]=s;return t};function _kt(n,e,t,i,s,r){return w(),A("div",{class:"background",style:en(n.styles)},null,4)}const hkt=hn(pkt,[["render",_kt]]);function fkt(n){return eR()?(NM(n),!0):!1}function uy(n){return typeof n=="function"?n():yt(n)}const qI=typeof window<"u"&&typeof document<"u";typeof WorkerGlobalScope<"u"&&globalThis instanceof WorkerGlobalScope;const mkt=Object.prototype.toString,gkt=n=>mkt.call(n)==="[object Object]",Vd=()=>{},bkt=Ekt();function Ekt(){var n,e;return qI&&((n=window==null?void 0:window.navigator)==null?void 0:n.userAgent)&&(/iP(ad|hone|od)/.test(window.navigator.userAgent)||((e=window==null?void 0:window.navigator)==null?void 0:e.maxTouchPoints)>2&&/iPad|Macintosh/.test(window==null?void 0:window.navigator.userAgent))}function ykt(n,e,t=!1){return e.reduce((i,s)=>(s in n&&(!t||n[s]!==void 0)&&(i[s]=n[s]),i),{})}function vkt(n,e={}){if(!fn(n))return d2(n);const t=Array.isArray(n.value)?Array.from({length:n.value.length}):{};for(const i in n.value)t[i]=c2(()=>({get(){return n.value[i]},set(s){var r;if((r=uy(e.replaceRef))!=null?r:!0)if(Array.isArray(n.value)){const a=[...n.value];a[i]=s,n.value=a}else{const a={...n.value,[i]:s};Object.setPrototypeOf(a,Object.getPrototypeOf(n.value)),n.value=a}else n.value[i]=s}}));return t}function Al(n){var e;const t=uy(n);return(e=t==null?void 0:t.$el)!=null?e:t}const py=qI?window:void 0;function Vl(...n){let e,t,i,s;if(typeof n[0]=="string"||Array.isArray(n[0])?([t,i,s]=n,e=py):[e,t,i,s]=n,!e)return Vd;Array.isArray(t)||(t=[t]),Array.isArray(i)||(i=[i]);const r=[],o=()=>{r.forEach(d=>d()),r.length=0},a=(d,h,f,_)=>(d.addEventListener(h,f,_),()=>d.removeEventListener(h,f,_)),l=qn(()=>[Al(e),uy(s)],([d,h])=>{if(o(),!d)return;const f=gkt(h)?{...h}:h;r.push(...t.flatMap(_=>i.map(m=>a(d,_,m,f))))},{immediate:!0,flush:"post"}),u=()=>{l(),o()};return fkt(u),u}let Uw=!1;function YI(n,e,t={}){const{window:i=py,ignore:s=[],capture:r=!0,detectIframe:o=!1}=t;if(!i)return Vd;bkt&&!Uw&&(Uw=!0,Array.from(i.document.body.children).forEach(f=>f.addEventListener("click",Vd)),i.document.documentElement.addEventListener("click",Vd));let a=!0;const l=f=>s.some(_=>{if(typeof _=="string")return Array.from(i.document.querySelectorAll(_)).some(m=>m===f.target||f.composedPath().includes(m));{const m=Al(_);return m&&(f.target===m||f.composedPath().includes(m))}}),d=[Vl(i,"click",f=>{const _=Al(n);if(!(!_||_===f.target||f.composedPath().includes(_))){if(f.detail===0&&(a=!l(f)),!a){a=!0;return}e(f)}},{passive:!0,capture:r}),Vl(i,"pointerdown",f=>{const _=Al(n);a=!l(f)&&!!(_&&!f.composedPath().includes(_))},{passive:!0}),o&&Vl(i,"blur",f=>{setTimeout(()=>{var _;const m=Al(n);((_=i.document.activeElement)==null?void 0:_.tagName)==="IFRAME"&&!(m!=null&&m.contains(i.document.activeElement))&&e(f)},0)})].filter(Boolean);return()=>d.forEach(f=>f())}const $I={x:0,y:0,pointerId:0,pressure:0,tiltX:0,tiltY:0,width:0,height:0,twist:0,pointerType:null},Skt=Object.keys($I);function Tkt(n={}){const{target:e=py}=n,t=ft(!1),i=ft(n.initialValue||{});Object.assign(i.value,$I,i.value);const s=r=>{t.value=!0,!(n.pointerTypes&&!n.pointerTypes.includes(r.pointerType))&&(i.value=ykt(r,Skt,!1))};if(e){const r={passive:!0};Vl(e,["pointerdown","pointermove","pointerup"],s,r),Vl(e,"pointerleave",()=>t.value=!1,r)}return{...vkt(i),isInside:t}}const xkt=["onMouseenter","onMouseleave","onClick"],Ckt={class:"flex-fill"},wkt={key:0,class:"__submenu-icon",style:{"line-height":"1em"}},Rkt=c("svg",{width:"13",height:"13",viewBox:"-60 120 250 250"},[c("path",{d:"M160.875 279.5625 L70.875 369.5625 L70.875 189.5625 L160.875 279.5625 Z",stroke:"none",fill:"white"})],-1),Akt=[Rkt],_y=_n({__name:"ContextMenu",props:{modelValue:{type:Boolean},items:{},x:{default:0},y:{default:0},isNested:{type:Boolean,default:!1},isFlipped:{default:()=>({x:!1,y:!1})},flippable:{type:Boolean,default:!1}},emits:["update:modelValue","click"],setup(n,{emit:e}){const t=n,i=e;let s=null;const r=ft(null),o=ft(-1),a=ft(0),l=ft({x:!1,y:!1}),u=st(()=>t.flippable&&(l.value.x||t.isFlipped.x)),d=st(()=>t.flippable&&(l.value.y||t.isFlipped.y)),h=st(()=>{const y={};return t.isNested||(y.top=(d.value?t.y-a.value:t.y)+"px",y.left=t.x+"px"),y}),f=st(()=>({"--flipped-x":u.value,"--flipped-y":d.value,"--nested":t.isNested})),_=st(()=>t.items.map(y=>({...y,hover:!1})));qn([()=>t.y,()=>t.items],()=>{var y,v,S,C;a.value=t.items.length*30;const T=((v=(y=r.value)==null?void 0:y.parentElement)==null?void 0:v.offsetWidth)??0,O=((C=(S=r.value)==null?void 0:S.parentElement)==null?void 0:C.offsetHeight)??0;l.value.x=!t.isNested&&t.x>T*.75,l.value.y=!t.isNested&&t.y+a.value>O-20}),YI(r,()=>{t.modelValue&&i("update:modelValue",!1)});const m=y=>{!y.submenu&&y.value&&(i("click",y.value),i("update:modelValue",!1))},E=y=>{i("click",y),o.value=-1,t.isNested||i("update:modelValue",!1)},b=(y,v)=>{t.items[v].submenu&&(o.value=v,s!==null&&(clearTimeout(s),s=null))},g=(y,v)=>{t.items[v].submenu&&(s=window.setTimeout(()=>{o.value=-1,s=null},200))};return(y,v)=>{const S=mt("ContextMenu",!0);return w(),xt(Vi,{name:"slide-fade"},{default:We(()=>[G(c("div",{ref_key:"el",ref:r,class:ze(["baklava-context-menu",f.value]),style:en(h.value)},[(w(!0),A($e,null,lt(_.value,(C,T)=>(w(),A($e,null,[C.isDivider?(w(),A("div",{key:`d-${T}`,class:"divider"})):(w(),A("div",{key:`i-${T}`,class:ze(["item",{submenu:!!C.submenu,"--disabled":!!C.disabled}]),onMouseenter:O=>b(O,T),onMouseleave:O=>g(O,T),onClick:ge(O=>m(C),["stop","prevent"])},[c("div",Ckt,he(C.label),1),C.submenu?(w(),A("div",wkt,Akt)):V("",!0),C.submenu?(w(),xt(S,{key:1,"model-value":o.value===T,items:C.submenu,"is-nested":!0,"is-flipped":{x:u.value,y:d.value},flippable:y.flippable,onClick:E},null,8,["model-value","items","is-flipped","flippable"])):V("",!0)],42,xkt))],64))),256))],6),[[Mt,y.modelValue]])]),_:1})}}}),Nkt={},Okt={xmlns:"http://www.w3.org/2000/svg",class:"baklava-icon",width:"16",height:"16",viewBox:"0 0 24 24","stroke-width":"2",stroke:"currentColor",fill:"none","stroke-linecap":"round","stroke-linejoin":"round"},Ikt=c("path",{stroke:"none",d:"M0 0h24v24H0z",fill:"none"},null,-1),Mkt=c("circle",{cx:"12",cy:"12",r:"1"},null,-1),Dkt=c("circle",{cx:"12",cy:"19",r:"1"},null,-1),kkt=c("circle",{cx:"12",cy:"5",r:"1"},null,-1),Lkt=[Ikt,Mkt,Dkt,kkt];function Pkt(n,e){return w(),A("svg",Okt,Lkt)}const WI=hn(Nkt,[["render",Pkt]]),Ukt=["id"],Fkt={key:0,class:"__tooltip"},Bkt={key:2,class:"align-middle"},Fw=_n({__name:"NodeInterface",props:{node:{},intf:{}},setup(n){const e=(b,g=100)=>{const y=b!=null&&b.toString?b.toString():"";return y.length>g?y.slice(0,g)+"...":y},t=n,{viewModel:i}=Oi(),{hoveredOver:s,temporaryConnection:r}=Gi(HI),o=ft(null),a=st(()=>t.intf.connectionCount>0),l=ft(!1),u=st(()=>i.value.settings.displayValueOnHover&&l.value),d=st(()=>({"--input":t.intf.isInput,"--output":!t.intf.isInput,"--connected":a.value})),h=st(()=>t.intf.component&&(!t.intf.isInput||!t.intf.port||t.intf.connectionCount===0)),f=()=>{l.value=!0,s(t.intf)},_=()=>{l.value=!1,s(void 0)},m=()=>{o.value&&i.value.hooks.renderInterface.execute({intf:t.intf,el:o.value})},E=()=>{const b=i.value.displayedGraph.sidebar;b.nodeId=t.node.id,b.optionName=t.intf.name,b.visible=!0};return Ws(m),uc(m),(b,g)=>{var y;return w(),A("div",{id:b.intf.id,ref_key:"el",ref:o,class:ze(["baklava-node-interface",d.value])},[b.intf.port?(w(),A("div",{key:0,class:ze(["__port",{"--selected":((y=yt(r))==null?void 0:y.from)===b.intf}]),onPointerover:f,onPointerout:_},[kn(b.$slots,"portTooltip",{showTooltip:u.value},()=>[u.value===!0?(w(),A("span",Fkt,he(e(b.intf.value)),1)):V("",!0)])],34)):V("",!0),h.value?(w(),xt(Lu(b.intf.component),{key:1,modelValue:b.intf.value,"onUpdate:modelValue":g[0]||(g[0]=v=>b.intf.value=v),node:b.node,intf:b.intf,onOpenSidebar:E},null,40,["modelValue","node","intf"])):(w(),A("span",Bkt,he(b.intf.name),1))],10,Ukt)}}}),Gkt=["id","data-node-type"],Vkt={class:"__title-label"},zkt={class:"__menu"},Hkt={class:"__outputs"},qkt={class:"__inputs"},Ykt=_n({__name:"Node",props:{node:{},selected:{type:Boolean,default:!1},dragging:{type:Boolean}},emits:["select","start-drag"],setup(n,{emit:e}){const t=n,i=e,{viewModel:s}=Oi(),{graph:r,switchGraph:o}=Ki(),a=ft(null),l=ft(!1),u=ft(""),d=ft(null),h=ft(!1),f=ft(!1),_=st(()=>{const F=[{value:"rename",label:"Rename"},{value:"delete",label:"Delete"}];return t.node.type.startsWith(lc)&&F.push({value:"editSubgraph",label:"Edit Subgraph"}),F}),m=st(()=>({"--selected":t.selected,"--dragging":t.dragging,"--two-column":!!t.node.twoColumn})),E=st(()=>{var F,B;return{top:`${((F=t.node.position)==null?void 0:F.y)??0}px`,left:`${((B=t.node.position)==null?void 0:B.x)??0}px`,"--width":`${t.node.width??s.value.settings.nodes.defaultWidth}px`}}),b=st(()=>Object.values(t.node.inputs).filter(F=>!F.hidden)),g=st(()=>Object.values(t.node.outputs).filter(F=>!F.hidden)),y=()=>{i("select")},v=F=>{t.selected||y(),i("start-drag",F)},S=()=>{f.value=!0},C=async F=>{var B;switch(F){case"delete":r.value.removeNode(t.node);break;case"rename":u.value=t.node.title,l.value=!0,await Ge(),(B=d.value)==null||B.focus();break;case"editSubgraph":o(t.node.template);break}},T=()=>{t.node.title=u.value,l.value=!1},O=()=>{a.value&&s.value.hooks.renderNode.execute({node:t.node,el:a.value})},k=F=>{h.value=!0,F.preventDefault()},x=F=>{if(!h.value)return;const B=t.node.width+F.movementX/r.value.scaling,ne=s.value.settings.nodes.minWidth,L=s.value.settings.nodes.maxWidth;t.node.width=Math.max(ne,Math.min(L,B))},I=()=>{h.value=!1};return Ws(()=>{O(),window.addEventListener("mousemove",x),window.addEventListener("mouseup",I)}),uc(O),Va(()=>{window.removeEventListener("mousemove",x),window.removeEventListener("mouseup",I)}),(F,B)=>(w(),A("div",{id:F.node.id,ref_key:"el",ref:a,class:ze(["baklava-node",m.value]),style:en(E.value),"data-node-type":F.node.type,onPointerdown:y},[yt(s).settings.nodes.resizable?(w(),A("div",{key:0,class:"__resize-handle",onMousedown:k},null,32)):V("",!0),kn(F.$slots,"title",{},()=>[c("div",{class:"__title",onPointerdown:ge(v,["self","stop"])},[l.value?G((w(),A("input",{key:1,ref_key:"renameInputEl",ref:d,"onUpdate:modelValue":B[1]||(B[1]=ne=>u.value=ne),type:"text",class:"baklava-input",placeholder:"Node Name",onBlur:T,onKeydown:Hs(T,["enter"])},null,544)),[[xe,u.value]]):(w(),A($e,{key:0},[c("div",Vkt,he(F.node.title),1),c("div",zkt,[Te(WI,{class:"--clickable",onClick:S}),Te(_y,{modelValue:f.value,"onUpdate:modelValue":B[0]||(B[0]=ne=>f.value=ne),x:0,y:0,items:_.value,onClick:C},null,8,["modelValue","items"])])],64))],32)]),kn(F.$slots,"content",{},()=>[c("div",{class:"__content",onKeydown:B[2]||(B[2]=Hs(ge(()=>{},["stop"]),["delete"]))},[c("div",Hkt,[(w(!0),A($e,null,lt(g.value,ne=>kn(F.$slots,"nodeInterface",{key:ne.id,type:"output",node:F.node,intf:ne},()=>[Te(Fw,{node:F.node,intf:ne},null,8,["node","intf"])])),128))]),c("div",qkt,[(w(!0),A($e,null,lt(b.value,ne=>kn(F.$slots,"nodeInterface",{key:ne.id,type:"input",node:F.node,intf:ne},()=>[Te(Fw,{node:F.node,intf:ne},null,8,["node","intf"])])),128))])],32)])],46,Gkt))}}),$kt=_n({props:{x1:{type:Number,required:!0},y1:{type:Number,required:!0},x2:{type:Number,required:!0},y2:{type:Number,required:!0},state:{type:Number,default:Ei.NONE},isTemporary:{type:Boolean,default:!1}},setup(n){const{viewModel:e}=Oi(),{graph:t}=Ki(),i=(o,a)=>{const l=(o+t.value.panning.x)*t.value.scaling,u=(a+t.value.panning.y)*t.value.scaling;return[l,u]},s=st(()=>{const[o,a]=i(n.x1,n.y1),[l,u]=i(n.x2,n.y2);if(e.value.settings.useStraightConnections)return`M ${o} ${a} L ${l} ${u}`;{const d=.3*Math.abs(o-l);return`M ${o} ${a} C ${o+d} ${a}, ${l-d} ${u}, ${l} ${u}`}}),r=st(()=>({"--temporary":n.isTemporary,"--allowed":n.state===Ei.ALLOWED,"--forbidden":n.state===Ei.FORBIDDEN}));return{d:s,classes:r}}}),Wkt=["d"];function Kkt(n,e,t,i,s,r){return w(),A("path",{class:ze(["baklava-connection",n.classes]),d:n.d},null,10,Wkt)}const KI=hn($kt,[["render",Kkt]]);function jkt(n){return document.getElementById(n.id)}function Pa(n){const e=document.getElementById(n.id),t=e==null?void 0:e.getElementsByClassName("__port");return{node:(e==null?void 0:e.closest(".baklava-node"))??null,interface:e,port:t&&t.length>0?t[0]:null}}const Qkt=_n({components:{"connection-view":KI},props:{connection:{type:Object,required:!0}},setup(n){const{graph:e}=Ki();let t;const i=ft({x1:0,y1:0,x2:0,y2:0}),s=st(()=>n.connection.isInDanger?Ei.FORBIDDEN:Ei.NONE),r=st(()=>{var u;return(u=e.value.findNodeById(n.connection.from.nodeId))==null?void 0:u.position}),o=st(()=>{var u;return(u=e.value.findNodeById(n.connection.to.nodeId))==null?void 0:u.position}),a=u=>u.node&&u.interface&&u.port?[u.node.offsetLeft+u.interface.offsetLeft+u.port.offsetLeft+u.port.clientWidth/2,u.node.offsetTop+u.interface.offsetTop+u.port.offsetTop+u.port.clientHeight/2]:[0,0],l=()=>{const u=Pa(n.connection.from),d=Pa(n.connection.to);u.node&&d.node&&(t||(t=new ResizeObserver(()=>{l()}),t.observe(u.node),t.observe(d.node)));const[h,f]=a(u),[_,m]=a(d);i.value={x1:h,y1:f,x2:_,y2:m}};return Ws(async()=>{await Ge(),l()}),Va(()=>{t&&t.disconnect()}),qn([r,o],()=>l(),{deep:!0}),{d:i,state:s}}});function Xkt(n,e,t,i,s,r){const o=mt("connection-view");return w(),xt(o,{x1:n.d.x1,y1:n.d.y1,x2:n.d.x2,y2:n.d.y2,state:n.state},null,8,["x1","y1","x2","y2","state"])}const Zkt=hn(Qkt,[["render",Xkt]]);function yu(n){return n.node&&n.interface&&n.port?[n.node.offsetLeft+n.interface.offsetLeft+n.port.offsetLeft+n.port.clientWidth/2,n.node.offsetTop+n.interface.offsetTop+n.port.offsetTop+n.port.clientHeight/2]:[0,0]}const Jkt=_n({components:{"connection-view":KI},props:{connection:{type:Object,required:!0}},setup(n){const e=st(()=>n.connection?n.connection.status:Ei.NONE);return{d:st(()=>{if(!n.connection)return{input:[0,0],output:[0,0]};const i=yu(Pa(n.connection.from)),s=n.connection.to?yu(Pa(n.connection.to)):[n.connection.mx||i[0],n.connection.my||i[1]];return n.connection.from.isInput?{input:s,output:i}:{input:i,output:s}}),status:e}}});function eLt(n,e,t,i,s,r){const o=mt("connection-view");return w(),xt(o,{x1:n.d.input[0],y1:n.d.input[1],x2:n.d.output[0],y2:n.d.output[1],state:n.status,"is-temporary":""},null,8,["x1","y1","x2","y2","state"])}const tLt=hn(Jkt,[["render",eLt]]),nLt=_n({setup(){const{viewModel:n}=Oi(),{graph:e}=Ki(),t=ft(null),i=$d(n.value.settings.sidebar,"width"),s=st(()=>n.value.settings.sidebar.resizable),r=st(()=>{const h=e.value.sidebar.nodeId;return e.value.nodes.find(f=>f.id===h)}),o=st(()=>({width:`${i.value}px`})),a=st(()=>r.value?[...Object.values(r.value.inputs),...Object.values(r.value.outputs)].filter(f=>f.displayInSidebar&&f.component):[]),l=()=>{e.value.sidebar.visible=!1},u=()=>{window.addEventListener("mousemove",d),window.addEventListener("mouseup",()=>{window.removeEventListener("mousemove",d)},{once:!0})},d=h=>{var f,_;const m=((_=(f=t.value)==null?void 0:f.parentElement)==null?void 0:_.getBoundingClientRect().width)??500;let E=i.value-h.movementX;E<300?E=300:E>.9*m&&(E=.9*m),i.value=E};return{el:t,graph:e,resizable:s,node:r,styles:o,displayedInterfaces:a,startResize:u,close:l}}}),iLt={class:"__header"},sLt={class:"__node-name"};function rLt(n,e,t,i,s,r){return w(),A("div",{ref:"el",class:ze(["baklava-sidebar",{"--open":n.graph.sidebar.visible}]),style:en(n.styles)},[n.resizable?(w(),A("div",{key:0,class:"__resizer",onMousedown:e[0]||(e[0]=(...o)=>n.startResize&&n.startResize(...o))},null,32)):V("",!0),c("div",iLt,[c("button",{tabindex:"-1",class:"__close",onClick:e[1]||(e[1]=(...o)=>n.close&&n.close(...o))},"×"),c("div",sLt,[c("b",null,he(n.node?n.node.title:""),1)])]),(w(!0),A($e,null,lt(n.displayedInterfaces,o=>(w(),A("div",{key:o.id,class:"__interface"},[(w(),xt(Lu(o.component),{modelValue:o.value,"onUpdate:modelValue":a=>o.value=a,node:n.node,intf:o},null,8,["modelValue","onUpdate:modelValue","node","intf"]))]))),128))],6)}const oLt=hn(nLt,[["render",rLt]]),aLt=_n({__name:"Minimap",setup(n){const{viewModel:e}=Oi(),{graph:t}=Ki(),i=ft(null),s=ft(!1);let r,o=!1,a={x1:0,y1:0,x2:0,y2:0},l;const u=()=>{var T,O;if(!r)return;r.canvas.width=i.value.offsetWidth,r.canvas.height=i.value.offsetHeight;const k=new Map,x=new Map;for(const L of t.value.nodes){const $=jkt(L),H=($==null?void 0:$.offsetWidth)??0,U=($==null?void 0:$.offsetHeight)??0,Q=((T=L.position)==null?void 0:T.x)??0,J=((O=L.position)==null?void 0:O.y)??0;k.set(L,{x1:Q,y1:J,x2:Q+H,y2:J+U}),x.set(L,$)}const I={x1:Number.MAX_SAFE_INTEGER,y1:Number.MAX_SAFE_INTEGER,x2:Number.MIN_SAFE_INTEGER,y2:Number.MIN_SAFE_INTEGER};for(const L of k.values())L.x1I.x2&&(I.x2=L.x2),L.y2>I.y2&&(I.y2=L.y2);const F=50;I.x1-=F,I.y1-=F,I.x2+=F,I.y2+=F,a=I;const B=r.canvas.width/r.canvas.height,ne=(a.x2-a.x1)/(a.y2-a.y1);if(B>ne){const L=(B-ne)*(a.y2-a.y1)*.5;a.x1-=L,a.x2+=L}else{const L=a.x2-a.x1,$=a.y2-a.y1,H=(L-B*$)/B*.5;a.y1-=H,a.y2+=H}r.clearRect(0,0,r.canvas.width,r.canvas.height),r.strokeStyle="white";for(const L of t.value.connections){const[$,H]=yu(Pa(L.from)),[U,Q]=yu(Pa(L.to)),[J,j]=d($,H),[ae,ve]=d(U,Q);if(r.beginPath(),r.moveTo(J,j),e.value.settings.useStraightConnections)r.lineTo(ae,ve);else{const ee=.3*Math.abs(J-ae);r.bezierCurveTo(J+ee,j,ae-ee,ve,ae,ve)}r.stroke()}r.strokeStyle="lightgray";for(const[L,$]of k.entries()){const[H,U]=d($.x1,$.y1),[Q,J]=d($.x2,$.y2);r.fillStyle=f(x.get(L)),r.beginPath(),r.rect(H,U,Q-H,J-U),r.fill(),r.stroke()}if(s.value){const L=m(),[$,H]=d(L.x1,L.y1),[U,Q]=d(L.x2,L.y2);r.fillStyle="rgba(255, 255, 255, 0.2)",r.fillRect($,H,U-$,Q-H)}},d=(T,O)=>[(T-a.x1)/(a.x2-a.x1)*r.canvas.width,(O-a.y1)/(a.y2-a.y1)*r.canvas.height],h=(T,O)=>[T*(a.x2-a.x1)/r.canvas.width+a.x1,O*(a.y2-a.y1)/r.canvas.height+a.y1],f=T=>{if(T){const O=T.querySelector(".__content");if(O){const x=_(O);if(x)return x}const k=_(T);if(k)return k}return"gray"},_=T=>{const O=getComputedStyle(T).backgroundColor;if(O&&O!=="rgba(0, 0, 0, 0)")return O},m=()=>{const T=i.value.parentElement.offsetWidth,O=i.value.parentElement.offsetHeight,k=T/t.value.scaling-t.value.panning.x,x=O/t.value.scaling-t.value.panning.y;return{x1:-t.value.panning.x,y1:-t.value.panning.y,x2:k,y2:x}},E=T=>{T.button===0&&(o=!0,b(T))},b=T=>{if(o){const[O,k]=h(T.offsetX,T.offsetY),x=m(),I=(x.x2-x.x1)/2,F=(x.y2-x.y1)/2;t.value.panning.x=-(O-I),t.value.panning.y=-(k-F)}},g=()=>{o=!1},y=()=>{s.value=!0},v=()=>{s.value=!1,g()};qn([s,t.value.panning,()=>t.value.scaling,()=>t.value.connections.length],()=>{u()});const S=st(()=>t.value.nodes.map(T=>T.position)),C=st(()=>t.value.nodes.map(T=>T.width));return qn([S,C],()=>{u()},{deep:!0}),Ws(()=>{r=i.value.getContext("2d"),r.imageSmoothingQuality="high",u(),l=setInterval(u,500)}),Va(()=>{clearInterval(l)}),(T,O)=>(w(),A("canvas",{ref_key:"canvas",ref:i,class:"baklava-minimap",onMouseenter:y,onMouseleave:v,onMousedown:ge(E,["self"]),onMousemove:ge(b,["self"]),onMouseup:g},null,544))}}),lLt=_n({components:{ContextMenu:_y,VerticalDots:WI},props:{type:{type:String,required:!0},title:{type:String,required:!0}},setup(n){const{viewModel:e}=Oi(),{switchGraph:t}=Ki(),i=ft(!1),s=st(()=>n.type.startsWith(lc));return{showContextMenu:i,hasContextMenu:s,contextMenuItems:[{label:"Edit Subgraph",value:"editSubgraph"},{label:"Delete Subgraph",value:"deleteSubgraph"}],openContextMenu:()=>{i.value=!0},onContextMenuClick:l=>{const u=n.type.substring(lc.length),d=e.value.editor.graphTemplates.find(h=>h.id===u);if(d)switch(l){case"editSubgraph":t(d);break;case"deleteSubgraph":e.value.editor.removeGraphTemplate(d);break}}}}}),cLt=["data-node-type"],dLt={class:"__title"},uLt={class:"__title-label"},pLt={key:0,class:"__menu"};function _Lt(n,e,t,i,s,r){const o=mt("vertical-dots"),a=mt("context-menu");return w(),A("div",{class:"baklava-node --palette","data-node-type":n.type},[c("div",dLt,[c("div",uLt,he(n.title),1),n.hasContextMenu?(w(),A("div",pLt,[Te(o,{class:"--clickable",onPointerdown:e[0]||(e[0]=ge(()=>{},["stop","prevent"])),onClick:ge(n.openContextMenu,["stop","prevent"])},null,8,["onClick"]),Te(a,{modelValue:n.showContextMenu,"onUpdate:modelValue":e[1]||(e[1]=l=>n.showContextMenu=l),x:-100,y:0,items:n.contextMenuItems,onClick:n.onContextMenuClick,onPointerdown:e[2]||(e[2]=ge(()=>{},["stop","prevent"]))},null,8,["modelValue","items","onClick"])])):V("",!0)])],8,cLt)}const Bw=hn(lLt,[["render",_Lt]]),hLt={class:"baklava-node-palette"},fLt={key:0},mLt=_n({__name:"NodePalette",setup(n){const{viewModel:e}=Oi(),{x:t,y:i}=Tkt(),{transform:s}=zI(),r=VI(e),o=Gi("editorEl"),a=ft(null),l=st(()=>{if(!a.value||!(o!=null&&o.value))return{};const{left:d,top:h}=o.value.getBoundingClientRect();return{top:`${i.value-h}px`,left:`${t.value-d}px`}}),u=(d,h)=>{a.value={type:d,nodeInformation:h};const f=()=>{const _=ei(new h.type);e.value.displayedGraph.addNode(_);const m=o.value.getBoundingClientRect(),[E,b]=s(t.value-m.left,i.value-m.top);_.position.x=E,_.position.y=b,a.value=null,document.removeEventListener("pointerup",f)};document.addEventListener("pointerup",f)};return(d,h)=>(w(),A($e,null,[c("div",hLt,[(w(!0),A($e,null,lt(yt(r),f=>(w(),A("section",{key:f.name},[f.name!=="default"?(w(),A("h1",fLt,he(f.name),1)):V("",!0),(w(!0),A($e,null,lt(f.nodeTypes,(_,m)=>(w(),xt(Bw,{key:m,type:m,title:_.title,onPointerdown:E=>u(m,_)},null,8,["type","title","onPointerdown"]))),128))]))),128))]),Te(Vi,{name:"fade"},{default:We(()=>[a.value?(w(),A("div",{key:0,class:"baklava-dragged-node",style:en(l.value)},[Te(Bw,{type:a.value.type,title:a.value.nodeInformation.title},null,8,["type","title"])],4)):V("",!0)]),_:1})],64))}});let Cd;const gLt=new Uint8Array(16);function bLt(){if(!Cd&&(Cd=typeof crypto<"u"&&crypto.getRandomValues&&crypto.getRandomValues.bind(crypto),!Cd))throw new Error("crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported");return Cd(gLt)}const wn=[];for(let n=0;n<256;++n)wn.push((n+256).toString(16).slice(1));function ELt(n,e=0){return wn[n[e+0]]+wn[n[e+1]]+wn[n[e+2]]+wn[n[e+3]]+"-"+wn[n[e+4]]+wn[n[e+5]]+"-"+wn[n[e+6]]+wn[n[e+7]]+"-"+wn[n[e+8]]+wn[n[e+9]]+"-"+wn[n[e+10]]+wn[n[e+11]]+wn[n[e+12]]+wn[n[e+13]]+wn[n[e+14]]+wn[n[e+15]]}const yLt=typeof crypto<"u"&&crypto.randomUUID&&crypto.randomUUID.bind(crypto),Gw={randomUUID:yLt};function vu(n,e,t){if(Gw.randomUUID&&!e&&!n)return Gw.randomUUID();n=n||{};const i=n.random||(n.rng||bLt)();if(i[6]=i[6]&15|64,i[8]=i[8]&63|128,e){t=t||0;for(let s=0;s<16;++s)e[t+s]=i[s];return e}return ELt(i)}const cc="SAVE_SUBGRAPH";function vLt(n,e){const t=()=>{const i=n.value;if(!i.template)throw new Error("Graph template property not set");i.template.update(i.save()),i.template.panning=i.panning,i.template.scaling=i.scaling};e.registerCommand(cc,{canExecute:()=>{var i;return n.value!==((i=n.value.editor)==null?void 0:i.graph)},execute:t})}const SLt={},TLt={xmlns:"http://www.w3.org/2000/svg",class:"baklava-icon",width:"24",height:"24",viewBox:"0 0 24 24","stroke-width":"2",stroke:"currentColor",fill:"none","stroke-linecap":"round","stroke-linejoin":"round"},xLt=c("polyline",{points:"6 9 12 15 18 9"},null,-1),CLt=[xLt];function wLt(n,e){return w(),A("svg",TLt,CLt)}const RLt=hn(SLt,[["render",wLt]]),ALt=_n({components:{"i-arrow":RLt},props:{intf:{type:Object,required:!0}},setup(n){const e=ft(null),t=ft(!1),i=st(()=>n.intf.items.find(o=>typeof o=="string"?o===n.intf.value:o.value===n.intf.value)),s=st(()=>i.value?typeof i.value=="string"?i.value:i.value.text:""),r=o=>{n.intf.value=typeof o=="string"?o:o.value};return YI(e,()=>{t.value=!1}),{el:e,open:t,selectedItem:i,selectedText:s,setSelected:r}}}),NLt=["title"],OLt={class:"__selected"},ILt={class:"__text"},MLt={class:"__icon"},DLt={class:"__dropdown"},kLt={class:"item --header"},LLt=["onClick"];function PLt(n,e,t,i,s,r){const o=mt("i-arrow");return w(),A("div",{ref:"el",class:ze(["baklava-select",{"--open":n.open}]),title:n.intf.name,onClick:e[0]||(e[0]=a=>n.open=!n.open)},[c("div",OLt,[c("div",ILt,he(n.selectedText),1),c("div",MLt,[Te(o)])]),Te(Vi,{name:"slide-fade"},{default:We(()=>[G(c("div",DLt,[c("div",kLt,he(n.intf.name),1),(w(!0),A($e,null,lt(n.intf.items,(a,l)=>(w(),A("div",{key:l,class:ze(["item",{"--active":a===n.selectedItem}]),onClick:u=>n.setSelected(a)},he(typeof a=="string"?a:a.text),11,LLt))),128))],512),[[Mt,n.open]])]),_:1})],10,NLt)}const ULt=hn(ALt,[["render",PLt]]);class FLt extends nn{constructor(e,t,i){super(e,t),this.component=dc(ULt),this.items=i}}const BLt=_n({props:{intf:{type:Object,required:!0}}});function GLt(n,e,t,i,s,r){return w(),A("div",null,he(n.intf.value),1)}const VLt=hn(BLt,[["render",GLt]]);class zLt extends nn{constructor(e,t){super(e,t),this.component=dc(VLt),this.setPort(!1)}}const HLt=_n({props:{intf:{type:Object,required:!0},modelValue:{type:String,required:!0}},emits:["update:modelValue"],setup(n,{emit:e}){return{v:st({get:()=>n.modelValue,set:i=>{e("update:modelValue",i)}})}}}),qLt=["placeholder","title"];function YLt(n,e,t,i,s,r){return w(),A("div",null,[G(c("input",{"onUpdate:modelValue":e[0]||(e[0]=o=>n.v=o),type:"text",class:"baklava-input",placeholder:n.intf.name,title:n.intf.name},null,8,qLt),[[xe,n.v]])])}const $Lt=hn(HLt,[["render",YLt]]);class Tc extends nn{constructor(){super(...arguments),this.component=dc($Lt)}}class jI extends LI{constructor(){super(...arguments),this._title="Subgraph Input",this.inputs={name:new Tc("Name","Input").setPort(!1)},this.outputs={placeholder:new nn("Connection",void 0)}}}class QI extends PI{constructor(){super(...arguments),this._title="Subgraph Output",this.inputs={name:new Tc("Name","Output").setPort(!1),placeholder:new nn("Connection",void 0)},this.outputs={output:new nn("Output",void 0).setHidden(!0)}}}const XI="CREATE_SUBGRAPH",Vw=[Da,ka];function WLt(n,e,t){const i=()=>n.value.selectedNodes.filter(r=>!Vw.includes(r.type)).length>0,s=()=>{const{viewModel:r}=Oi(),o=n.value,a=n.value.editor;if(o.selectedNodes.length===0)return;const l=o.selectedNodes.filter(x=>!Vw.includes(x.type)),u=l.flatMap(x=>Object.values(x.inputs)),d=l.flatMap(x=>Object.values(x.outputs)),h=o.connections.filter(x=>!d.includes(x.from)&&u.includes(x.to)),f=o.connections.filter(x=>d.includes(x.from)&&!u.includes(x.to)),_=o.connections.filter(x=>d.includes(x.from)&&u.includes(x.to)),m=l.map(x=>x.save()),E=_.map(x=>({id:x.id,from:x.from.id,to:x.to.id})),b=new Map,{xLeft:g,xRight:y,yTop:v}=KLt(l);console.log(g,y,v);for(const[x,I]of h.entries()){const F=new jI;F.inputs.name.value=I.to.name,m.push({...F.save(),position:{x:y-r.value.settings.nodes.defaultWidth-100,y:v+x*200}}),E.push({id:vu(),from:F.outputs.placeholder.id,to:I.to.id}),b.set(I.to.id,F.graphInterfaceId)}for(const[x,I]of f.entries()){const F=new QI;F.inputs.name.value=I.from.name,m.push({...F.save(),position:{x:g+100,y:v+x*200}}),E.push({id:vu(),from:I.from.id,to:F.inputs.placeholder.id}),b.set(I.from.id,F.graphInterfaceId)}const S=ei(new fp({connections:E,nodes:m,inputs:[],outputs:[]},a));a.addGraphTemplate(S);const C=a.nodeTypes.get(La(S));if(!C)throw new Error("Unable to create subgraph: Could not find corresponding graph node type");const T=ei(new C.type);o.addNode(T);const O=Math.round(l.map(x=>x.position.x).reduce((x,I)=>x+I,0)/l.length),k=Math.round(l.map(x=>x.position.y).reduce((x,I)=>x+I,0)/l.length);T.position.x=O,T.position.y=k,h.forEach(x=>{o.removeConnection(x),o.addConnection(x.from,T.inputs[b.get(x.to.id)])}),f.forEach(x=>{o.removeConnection(x),o.addConnection(T.outputs[b.get(x.from.id)],x.to)}),l.forEach(x=>o.removeNode(x)),e.canExecuteCommand(cc)&&e.executeCommand(cc),t(S),n.value.panning={...o.panning},n.value.scaling=o.scaling};e.registerCommand(XI,{canExecute:i,execute:s})}function KLt(n){const e=n.reduce((s,r)=>{const o=r.position.x;return o{const o=r.position.y;return o{const o=r.position.x+r.width;return o>s?o:s},-1/0),xRight:e,yTop:t}}const zw="DELETE_NODES";function jLt(n,e){e.registerCommand(zw,{canExecute:()=>n.value.selectedNodes.length>0,execute(){n.value.selectedNodes.forEach(t=>n.value.removeNode(t))}}),e.registerHotkey(["Delete"],zw)}const ZI="SWITCH_TO_MAIN_GRAPH";function QLt(n,e,t){e.registerCommand(ZI,{canExecute:()=>n.value!==n.value.editor.graph,execute:()=>{e.executeCommand(cc),t(n.value.editor.graph)}})}function XLt(n,e,t){jLt(n,e),WLt(n,e,t),vLt(n,e),QLt(n,e,t)}class Hw{constructor(e,t){this.type=e,e==="addNode"?this.nodeId=t:this.nodeState=t}undo(e){this.type==="addNode"?this.removeNode(e):this.addNode(e)}redo(e){this.type==="addNode"&&this.nodeState?this.addNode(e):this.type==="removeNode"&&this.nodeId&&this.removeNode(e)}addNode(e){const t=e.editor.nodeTypes.get(this.nodeState.type);if(!t)return;const i=new t.type;e.addNode(i),i.load(this.nodeState),this.nodeId=i.id}removeNode(e){const t=e.nodes.find(i=>i.id===this.nodeId);t&&(this.nodeState=t.save(),e.removeNode(t))}}class qw{constructor(e,t){if(this.type=e,e==="addConnection")this.connectionId=t;else{const i=t;this.connectionState={id:i.id,from:i.from.id,to:i.to.id}}}undo(e){this.type==="addConnection"?this.removeConnection(e):this.addConnection(e)}redo(e){this.type==="addConnection"&&this.connectionState?this.addConnection(e):this.type==="removeConnection"&&this.connectionId&&this.removeConnection(e)}addConnection(e){const t=e.findNodeInterface(this.connectionState.from),i=e.findNodeInterface(this.connectionState.to);!t||!i||e.addConnection(t,i)}removeConnection(e){const t=e.connections.find(i=>i.id===this.connectionId);t&&(this.connectionState={id:t.id,from:t.from.id,to:t.to.id},e.removeConnection(t))}}class ZLt{constructor(e){if(this.type="transaction",e.length===0)throw new Error("Can't create a transaction with no steps");this.steps=e}undo(e){for(let t=this.steps.length-1;t>=0;t--)this.steps[t].undo(e)}redo(e){for(let t=0;t{if(!r.value)if(a.value)l.value.push(b);else for(o.value!==s.value.length-1&&(s.value=s.value.slice(0,o.value+1)),s.value.push(b),o.value++;s.value.length>i.value;)s.value.shift()},d=()=>{a.value=!0},h=()=>{a.value=!1,l.value.length>0&&(u(new ZLt(l.value)),l.value=[])},f=()=>s.value.length!==0&&o.value!==-1,_=()=>{f()&&(r.value=!0,s.value[o.value--].undo(n.value),r.value=!1)},m=()=>s.value.length!==0&&o.value{m()&&(r.value=!0,s.value[++o.value].redo(n.value),r.value=!1)};return qn(n,(b,g)=>{g&&(g.events.addNode.unsubscribe(t),g.events.removeNode.unsubscribe(t),g.events.addConnection.unsubscribe(t),g.events.removeConnection.unsubscribe(t)),b&&(b.events.addNode.subscribe(t,y=>{u(new Hw("addNode",y.id))}),b.events.removeNode.subscribe(t,y=>{u(new Hw("removeNode",y.save()))}),b.events.addConnection.subscribe(t,y=>{u(new qw("addConnection",y.id))}),b.events.removeConnection.subscribe(t,y=>{u(new qw("removeConnection",y))}))},{immediate:!0}),e.registerCommand(vb,{canExecute:f,execute:_}),e.registerCommand(Sb,{canExecute:m,execute:E}),e.registerCommand(JI,{canExecute:()=>!a.value,execute:d}),e.registerCommand(eM,{canExecute:()=>a.value,execute:h}),e.registerHotkey(["Control","z"],vb),e.registerHotkey(["Control","y"],Sb),ei({maxSteps:i})}const Tb="COPY",xb="PASTE",ePt="CLEAR_CLIPBOARD";function tPt(n,e,t){const i=Symbol("ClipboardToken"),s=ft(""),r=ft(""),o=st(()=>!s.value),a=()=>{s.value="",r.value=""},l=()=>{const h=n.value.selectedNodes.flatMap(_=>[...Object.values(_.inputs),...Object.values(_.outputs)]),f=n.value.connections.filter(_=>h.includes(_.from)||h.includes(_.to)).map(_=>({from:_.from.id,to:_.to.id}));r.value=JSON.stringify(f),s.value=JSON.stringify(n.value.selectedNodes.map(_=>_.save()))},u=(h,f,_)=>{for(const m of h){let E;if((!_||_==="input")&&(E=Object.values(m.inputs).find(b=>b.id===f)),!E&&(!_||_==="output")&&(E=Object.values(m.outputs).find(b=>b.id===f)),E)return E}},d=()=>{if(o.value)return;const h=new Map,f=JSON.parse(s.value),_=JSON.parse(r.value),m=[],E=[],b=n.value;t.executeCommand(JI);for(const g of f){const y=e.value.nodeTypes.get(g.type);if(!y){console.warn(`Node type ${g.type} not registered`);return}const v=new y.type,S=v.id;m.push(v),v.hooks.beforeLoad.subscribe(i,C=>{const T=C;return T.position&&(T.position.x+=100,T.position.y+=100),v.hooks.beforeLoad.unsubscribe(i),T}),b.addNode(v),v.load({...g,id:S}),v.id=S,h.set(g.id,S);for(const C of Object.values(v.inputs)){const T=vu();h.set(C.id,T),C.id=T}for(const C of Object.values(v.outputs)){const T=vu();h.set(C.id,T),C.id=T}}for(const g of _){const y=u(m,h.get(g.from),"output"),v=u(m,h.get(g.to),"input");if(!y||!v)continue;const S=b.addConnection(y,v);S&&E.push(S)}return n.value.selectedNodes=m,t.executeCommand(eM),{newNodes:m,newConnections:E}};return t.registerCommand(Tb,{canExecute:()=>n.value.selectedNodes.length>0,execute:l}),t.registerHotkey(["Control","c"],Tb),t.registerCommand(xb,{canExecute:()=>!o.value,execute:d}),t.registerHotkey(["Control","v"],xb),t.registerCommand(ePt,{canExecute:()=>!0,execute:a}),ei({isEmpty:o})}const nPt="OPEN_SIDEBAR";function iPt(n,e){e.registerCommand(nPt,{execute:t=>{n.value.sidebar.nodeId=t,n.value.sidebar.visible=!0},canExecute:()=>!0})}function sPt(n,e){iPt(n,e)}const rPt={},oPt={xmlns:"http://www.w3.org/2000/svg",class:"baklava-icon",width:"24",height:"24",viewBox:"0 0 24 24","stroke-width":"2",stroke:"currentColor",fill:"none","stroke-linecap":"round","stroke-linejoin":"round"},aPt=c("path",{stroke:"none",d:"M0 0h24v24H0z",fill:"none"},null,-1),lPt=c("path",{d:"M9 13l-4 -4l4 -4m-4 4h11a4 4 0 0 1 0 8h-1"},null,-1),cPt=[aPt,lPt];function dPt(n,e){return w(),A("svg",oPt,cPt)}const uPt=hn(rPt,[["render",dPt]]),pPt={},_Pt={xmlns:"http://www.w3.org/2000/svg",class:"baklava-icon",width:"24",height:"24",viewBox:"0 0 24 24","stroke-width":"2",stroke:"currentColor",fill:"none","stroke-linecap":"round","stroke-linejoin":"round"},hPt=c("path",{stroke:"none",d:"M0 0h24v24H0z",fill:"none"},null,-1),fPt=c("path",{d:"M15 13l4 -4l-4 -4m4 4h-11a4 4 0 0 0 0 8h1"},null,-1),mPt=[hPt,fPt];function gPt(n,e){return w(),A("svg",_Pt,mPt)}const bPt=hn(pPt,[["render",gPt]]),EPt={},yPt={xmlns:"http://www.w3.org/2000/svg",class:"baklava-icon",width:"24",height:"24",viewBox:"0 0 24 24","stroke-width":"2",stroke:"currentColor",fill:"none","stroke-linecap":"round","stroke-linejoin":"round"},vPt=c("path",{stroke:"none",d:"M0 0h24v24H0z",fill:"none"},null,-1),SPt=c("line",{x1:"5",y1:"12",x2:"19",y2:"12"},null,-1),TPt=c("line",{x1:"5",y1:"12",x2:"11",y2:"18"},null,-1),xPt=c("line",{x1:"5",y1:"12",x2:"11",y2:"6"},null,-1),CPt=[vPt,SPt,TPt,xPt];function wPt(n,e){return w(),A("svg",yPt,CPt)}const RPt=hn(EPt,[["render",wPt]]),APt={},NPt={xmlns:"http://www.w3.org/2000/svg",class:"baklava-icon",width:"24",height:"24",viewBox:"0 0 24 24","stroke-width":"2",stroke:"currentColor",fill:"none","stroke-linecap":"round","stroke-linejoin":"round"},OPt=c("path",{stroke:"none",d:"M0 0h24v24H0z",fill:"none"},null,-1),IPt=c("path",{d:"M9 5h-2a2 2 0 0 0 -2 2v12a2 2 0 0 0 2 2h10a2 2 0 0 0 2 -2v-12a2 2 0 0 0 -2 -2h-2"},null,-1),MPt=c("rect",{x:"9",y:"3",width:"6",height:"4",rx:"2"},null,-1),DPt=[OPt,IPt,MPt];function kPt(n,e){return w(),A("svg",NPt,DPt)}const LPt=hn(APt,[["render",kPt]]),PPt={},UPt={xmlns:"http://www.w3.org/2000/svg",class:"baklava-icon",width:"24",height:"24",viewBox:"0 0 24 24","stroke-width":"2",stroke:"currentColor",fill:"none","stroke-linecap":"round","stroke-linejoin":"round"},FPt=c("path",{stroke:"none",d:"M0 0h24v24H0z",fill:"none"},null,-1),BPt=c("rect",{x:"8",y:"8",width:"12",height:"12",rx:"2"},null,-1),GPt=c("path",{d:"M16 8v-2a2 2 0 0 0 -2 -2h-8a2 2 0 0 0 -2 2v8a2 2 0 0 0 2 2h2"},null,-1),VPt=[FPt,BPt,GPt];function zPt(n,e){return w(),A("svg",UPt,VPt)}const HPt=hn(PPt,[["render",zPt]]),qPt={},YPt={xmlns:"http://www.w3.org/2000/svg",class:"baklava-icon",width:"24",height:"24",viewBox:"0 0 24 24","stroke-width":"2",stroke:"currentColor",fill:"none","stroke-linecap":"round","stroke-linejoin":"round"},$Pt=c("path",{stroke:"none",d:"M0 0h24v24H0z",fill:"none"},null,-1),WPt=c("path",{d:"M6 4h10l4 4v10a2 2 0 0 1 -2 2h-12a2 2 0 0 1 -2 -2v-12a2 2 0 0 1 2 -2"},null,-1),KPt=c("circle",{cx:"12",cy:"14",r:"2"},null,-1),jPt=c("polyline",{points:"14 4 14 8 8 8 8 4"},null,-1),QPt=[$Pt,WPt,KPt,jPt];function XPt(n,e){return w(),A("svg",YPt,QPt)}const ZPt=hn(qPt,[["render",XPt]]),JPt={},eUt={xmlns:"http://www.w3.org/2000/svg",class:"baklava-icon",width:"24",height:"24",viewBox:"0 0 24 24","stroke-width":"2",stroke:"currentColor",fill:"none","stroke-linecap":"round","stroke-linejoin":"round"},tUt=Fu('',6),nUt=[tUt];function iUt(n,e){return w(),A("svg",eUt,nUt)}const sUt=hn(JPt,[["render",iUt]]),rUt=_n({props:{command:{type:String,required:!0},title:{type:String,required:!0},icon:{type:Object,required:!1,default:void 0}},setup(){const{viewModel:n}=Oi();return{viewModel:n}}}),oUt=["disabled","title"];function aUt(n,e,t,i,s,r){return w(),A("button",{class:"baklava-toolbar-entry baklava-toolbar-button",disabled:!n.viewModel.commandHandler.canExecuteCommand(n.command),title:n.title,onClick:e[0]||(e[0]=o=>n.viewModel.commandHandler.executeCommand(n.command))},[n.icon?(w(),xt(Lu(n.icon),{key:0})):(w(),A($e,{key:1},[et(he(n.title),1)],64))],8,oUt)}const lUt=hn(rUt,[["render",aUt]]),cUt=_n({components:{ToolbarButton:lUt},setup(){const{viewModel:n}=Oi();return{isSubgraph:st(()=>n.value.displayedGraph!==n.value.editor.graph),commands:[{command:Tb,title:"Copy",icon:HPt},{command:xb,title:"Paste",icon:LPt},{command:vb,title:"Undo",icon:uPt},{command:Sb,title:"Redo",icon:bPt},{command:XI,title:"Create Subgraph",icon:sUt}],subgraphCommands:[{command:cc,title:"Save Subgraph",icon:ZPt},{command:ZI,title:"Back to Main Graph",icon:RPt}]}}}),dUt={class:"baklava-toolbar"};function uUt(n,e,t,i,s,r){const o=mt("toolbar-button");return w(),A("div",dUt,[(w(!0),A($e,null,lt(n.commands,a=>(w(),xt(o,{key:a.command,command:a.command,title:a.title,icon:a.icon},null,8,["command","title","icon"]))),128)),n.isSubgraph?(w(!0),A($e,{key:0},lt(n.subgraphCommands,a=>(w(),xt(o,{key:a.command,command:a.command,title:a.title,icon:a.icon},null,8,["command","title","icon"]))),128)):V("",!0)])}const pUt=hn(cUt,[["render",uUt]]),_Ut={class:"connections-container"},hUt=_n({__name:"Editor",props:{viewModel:{}},setup(n){const e=n,t=Symbol("EditorToken"),i=$d(e,"viewModel");lkt(i);const s=ft(null);sa("editorEl",s);const r=st(()=>e.viewModel.displayedGraph.nodes),o=st(()=>e.viewModel.displayedGraph.nodes.map(O=>BI($d(O,"position")))),a=st(()=>e.viewModel.displayedGraph.connections),l=st(()=>e.viewModel.displayedGraph.selectedNodes),u=ckt(),d=dkt(),h=ukt(i),f=st(()=>({...u.styles.value})),_=ft(0);e.viewModel.editor.hooks.load.subscribe(t,O=>(_.value++,O));const m=O=>{u.onPointerMove(O),d.onMouseMove(O)},E=O=>{O.button===0&&(O.target===s.value&&(S(),u.onPointerDown(O)),d.onMouseDown())},b=O=>{u.onPointerUp(O),d.onMouseUp()},g=O=>{O.key==="Tab"&&O.preventDefault(),e.viewModel.commandHandler.handleKeyDown(O)},y=O=>{e.viewModel.commandHandler.handleKeyUp(O)},v=O=>{["Control","Shift"].some(k=>e.viewModel.commandHandler.pressedKeys.includes(k))||S(),e.viewModel.displayedGraph.selectedNodes.push(O)},S=()=>{e.viewModel.displayedGraph.selectedNodes=[]},C=O=>{for(const k of e.viewModel.displayedGraph.selectedNodes){const x=r.value.indexOf(k),I=o.value[x];I.onPointerDown(O),document.addEventListener("pointermove",I.onPointerMove)}document.addEventListener("pointerup",T)},T=()=>{for(const O of e.viewModel.displayedGraph.selectedNodes){const k=r.value.indexOf(O),x=o.value[k];x.onPointerUp(),document.removeEventListener("pointermove",x.onPointerMove)}document.removeEventListener("pointerup",T)};return(O,k)=>(w(),A("div",{ref_key:"el",ref:s,tabindex:"-1",class:ze(["baklava-editor",{"baklava-ignore-mouse":!!yt(d).temporaryConnection.value||yt(u).dragging.value,"--temporary-connection":!!yt(d).temporaryConnection.value}]),onPointermove:ge(m,["self"]),onPointerdown:E,onPointerup:b,onWheel:k[1]||(k[1]=ge((...x)=>yt(u).onMouseWheel&&yt(u).onMouseWheel(...x),["self"])),onKeydown:g,onKeyup:y,onContextmenu:k[2]||(k[2]=ge((...x)=>yt(h).open&&yt(h).open(...x),["self","prevent"]))},[kn(O.$slots,"background",{},()=>[Te(hkt)]),kn(O.$slots,"toolbar",{},()=>[Te(pUt)]),kn(O.$slots,"palette",{},()=>[Te(mLt)]),(w(),A("svg",_Ut,[(w(!0),A($e,null,lt(a.value,x=>(w(),A("g",{key:x.id+_.value.toString()},[kn(O.$slots,"connection",{connection:x},()=>[Te(Zkt,{connection:x},null,8,["connection"])])]))),128)),kn(O.$slots,"temporaryConnection",{temporaryConnection:yt(d).temporaryConnection.value},()=>[yt(d).temporaryConnection.value?(w(),xt(tLt,{key:0,connection:yt(d).temporaryConnection.value},null,8,["connection"])):V("",!0)])])),c("div",{class:"node-container",style:en(f.value)},[Te(as,{name:"fade"},{default:We(()=>[(w(!0),A($e,null,lt(r.value,(x,I)=>kn(O.$slots,"node",{key:x.id+_.value.toString(),node:x,selected:l.value.includes(x),dragging:o.value[I].dragging.value,onSelect:F=>v(x),onStartDrag:C},()=>[Te(Ykt,{node:x,selected:l.value.includes(x),dragging:o.value[I].dragging.value,onSelect:F=>v(x),onStartDrag:C},null,8,["node","selected","dragging","onSelect"])])),128))]),_:3})],4),kn(O.$slots,"sidebar",{},()=>[Te(oLt)]),kn(O.$slots,"minimap",{},()=>[O.viewModel.settings.enableMinimap?(w(),xt(aLt,{key:0})):V("",!0)]),kn(O.$slots,"contextMenu",{contextMenu:yt(h)},()=>[O.viewModel.settings.contextMenu.enabled?(w(),xt(_y,{key:0,modelValue:yt(h).show.value,"onUpdate:modelValue":k[0]||(k[0]=x=>yt(h).show.value=x),items:yt(h).items.value,x:yt(h).x.value,y:yt(h).y.value,onClick:yt(h).onClick},null,8,["modelValue","items","x","y","onClick"])):V("",!0)])],34))}}),fUt=["INPUT","TEXTAREA","SELECT"];function mUt(n){const e=ft([]),t=ft([]);return{pressedKeys:e,handleKeyDown:o=>{var a;e.value.includes(o.key)||e.value.push(o.key),!fUt.includes(((a=document.activeElement)==null?void 0:a.tagName)??"")&&t.value.forEach(l=>{l.keys.every(u=>e.value.includes(u))&&n(l.commandName)})},handleKeyUp:o=>{const a=e.value.indexOf(o.key);a>=0&&e.value.splice(a,1)},registerHotkey:(o,a)=>{t.value.push({keys:o,commandName:a})}}}const gUt=()=>{const n=ft(new Map),e=(r,o)=>{if(n.value.has(r))throw new Error(`Command "${r}" already exists`);n.value.set(r,o)},t=(r,o=!1,...a)=>{if(!n.value.has(r)){if(o)throw new Error(`[CommandHandler] Command ${r} not registered`);return}return n.value.get(r).execute(...a)},i=(r,o=!1,...a)=>{if(!n.value.has(r)){if(o)throw new Error(`[CommandHandler] Command ${r} not registered`);return!1}return n.value.get(r).canExecute(a)},s=mUt(t);return ei({registerCommand:e,executeCommand:t,canExecuteCommand:i,...s})},bUt=n=>!(n instanceof Sc);function EUt(n,e){return{switchGraph:i=>{let s;if(bUt(i))s=new Sc(n.value),i.createGraph(s);else{if(i!==n.value.graph)throw new Error("Can only switch using 'Graph' instance when it is the root graph. Otherwise a 'GraphTemplate' must be used.");s=i}e.value&&e.value!==n.value.graph&&e.value.destroy(),s.panning=s.panning??i.panning??{x:0,y:0},s.scaling=s.scaling??i.scaling??1,s.selectedNodes=s.selectedNodes??[],s.sidebar=s.sidebar??{visible:!1,nodeId:"",optionName:""},e.value=s}}}function yUt(n,e){n.position=n.position??{x:0,y:0},n.disablePointerEvents=!1,n.twoColumn=n.twoColumn??!1,n.width=n.width??e.defaultWidth}const vUt=()=>({useStraightConnections:!1,enableMinimap:!1,background:{gridSize:100,gridDivision:5,subGridVisibleThreshold:.6},sidebar:{width:300,resizable:!0},displayValueOnHover:!1,nodes:{defaultWidth:200,maxWidth:320,minWidth:150,resizable:!1},contextMenu:{enabled:!0,additionalItems:[]}});function SUt(n){const e=ft(n??new nkt),t=Symbol("ViewModelToken"),i=ft(null),s=s2(i),{switchGraph:r}=EUt(e,i),o=st(()=>s.value&&s.value!==e.value.graph),a=ei(vUt()),l=gUt(),u=JLt(s,l),d=tPt(s,e,l),h={renderNode:new li(null),renderInterface:new li(null)};return XLt(s,l,r),sPt(s,l),qn(e,(f,_)=>{_&&(_.events.registerGraph.unsubscribe(t),_.graphEvents.beforeAddNode.unsubscribe(t),f.nodeHooks.beforeLoad.unsubscribe(t),f.nodeHooks.afterSave.unsubscribe(t),f.graphTemplateHooks.beforeLoad.unsubscribe(t),f.graphTemplateHooks.afterSave.unsubscribe(t),f.graph.hooks.load.unsubscribe(t),f.graph.hooks.save.unsubscribe(t)),f&&(f.nodeHooks.beforeLoad.subscribe(t,(m,E)=>(E.position=m.position??{x:0,y:0},E.width=m.width??a.nodes.defaultWidth,E.twoColumn=m.twoColumn??!1,m)),f.nodeHooks.afterSave.subscribe(t,(m,E)=>(m.position=E.position,m.width=E.width,m.twoColumn=E.twoColumn,m)),f.graphTemplateHooks.beforeLoad.subscribe(t,(m,E)=>(E.panning=m.panning,E.scaling=m.scaling,m)),f.graphTemplateHooks.afterSave.subscribe(t,(m,E)=>(m.panning=E.panning,m.scaling=E.scaling,m)),f.graph.hooks.load.subscribe(t,(m,E)=>(E.panning=m.panning,E.scaling=m.scaling,m)),f.graph.hooks.save.subscribe(t,(m,E)=>(m.panning=E.panning,m.scaling=E.scaling,m)),f.graphEvents.beforeAddNode.subscribe(t,m=>yUt(m,{defaultWidth:a.nodes.defaultWidth})),e.value.registerNodeType(jI,{category:"Subgraphs"}),e.value.registerNodeType(QI,{category:"Subgraphs"}),r(f.graph))},{immediate:!0}),ei({editor:e,displayedGraph:s,isSubgraph:o,settings:a,commandHandler:l,history:u,clipboard:d,hooks:h,switchGraph:r})}const TUt=Ja({type:"PersonalityNode",title:"Personality",inputs:{request:()=>new nn("Request",""),agent_name:()=>new FLt("Personality","",Su.state.config.personalities).setPort(!1)},outputs:{response:()=>new nn("Response","")},async calculate({request:n}){console.log(Su.state.config.personalities);let e="";try{e=(await Se.post("/generate",{params:{text:n}})).data}catch(t){console.error(t)}return{display:e,response:e}}}),xUt=Ja({type:"RAGNode",title:"RAG",inputs:{request:()=>new nn("Prompt",""),document_path:()=>new Tc("Document path","").setPort(!1)},outputs:{prompt:()=>new nn("Prompt with Data","")},async calculate({request:n,document_path:e}){let t="";try{t=(await Se.get("/rag",{params:{text:n,doc_path:e}})).data}catch(i){console.error(i)}return{response:t}}}),Yw=Ja({type:"Task",title:"Task",inputs:{description:()=>new Tc("Task description","").setPort(!1)},outputs:{prompt:()=>new nn("Prompt")},calculate({description:n}){return{prompt:n}}}),$w=Ja({type:"TextDisplayNode",title:"TextDisplay",inputs:{text2display:()=>new nn("Input","")},outputs:{response:()=>new zLt("Text","")},async calculate({request:n}){}}),Ww=Ja({type:"LLMNode",title:"LLM",inputs:{request:()=>new nn("Request","")},outputs:{response:()=>new nn("Response","")},async calculate({request:n}){console.log(Su.state.config.personalities);let e="";try{e=(await Se.post("/generate",{params:{text:n}})).data}catch(t){console.error(t)}return{display:e,response:e}}}),CUt=Ja({type:"MultichoiceNode",title:"Multichoice",inputs:{question:()=>new nn("Question",""),outputs:()=>new Tc("choices, one per line","","").setPort(!1)},outputs:{response:()=>new nn("Response","")}}),wUt=_n({components:{"baklava-editor":hUt},setup(){const n=SUt(),e=new akt(n.editor);n.editor.registerNodeType(TUt),n.editor.registerNodeType(Yw),n.editor.registerNodeType(xUt),n.editor.registerNodeType($w),n.editor.registerNodeType(Ww),n.editor.registerNodeType(CUt);const t=Symbol();e.events.afterRun.subscribe(t,a=>{e.pause(),ikt(a,n.editor),e.resume()}),e.start();function i(a,l,u){const d=new a;return n.displayedGraph.addNode(d),d.position.x=l,d.position.y=u,d}const s=i(Yw,300,140),r=i(Ww,550,140),o=i($w,850,140);return n.displayedGraph.addConnection(s.outputs.prompt,r.inputs.request),n.displayedGraph.addConnection(r.outputs.response,o.inputs.text2display),{baklava:n,saveGraph:()=>{const a=e.export();localStorage.setItem("myGraph",JSON.stringify(a))},loadGraph:()=>{const a=JSON.parse(localStorage.getItem("myGraph"));e.import(a)}}}}),RUt={style:{width:"100vw",height:"100vh"}};function AUt(n,e,t,i,s,r){const o=mt("baklava-editor");return w(),A("div",RUt,[Te(o,{"view-model":n.baklava},null,8,["view-model"]),c("button",{onClick:e[0]||(e[0]=(...a)=>n.saveGraph&&n.saveGraph(...a))},"Save Graph"),c("button",{onClick:e[1]||(e[1]=(...a)=>n.loadGraph&&n.loadGraph(...a))},"Load Graph")])}const NUt=bt(wUt,[["render",AUt]]),OUt={},IUt={style:{width:"100vw",height:"100vh"}},MUt=["src"];function DUt(n,e,t,i,s,r){return w(),A("div",IUt,[c("iframe",{src:n.$store.state.config.comfyui_base_url,class:"m-0 p-0 w-full h-full"},null,8,MUt)])}const kUt=bt(OUt,[["render",DUt]]),LUt={},PUt={style:{width:"100vw",height:"100vh"}},UUt=["src"];function FUt(n,e,t,i,s,r){return w(),A("div",PUt,[c("iframe",{src:n.$store.state.config.sd_base_url,class:"m-0 p-0 w-full h-full"},null,8,UUt)])}const BUt=bt(LUt,[["render",FUt]]),GUt=HP({history:aP("/"),routes:[{path:"/auto_sd_view/",name:"AutoSD",component:BUt},{path:"/autosd_view/",name:"ComfyUI",component:kUt},{path:"/playground/",name:"playground",component:Rtt},{path:"/extensions/",name:"extensions",component:Ftt},{path:"/help_view/",name:"help_view",component:qtt},{path:"/settings/",name:"settings",component:Zbt},{path:"/training/",name:"training",component:EEt},{path:"/quantizing/",name:"quantizing",component:AEt},{path:"/",name:"discussions",component:kwt},{path:"/",name:"interactive",component:jDt},{path:"/",name:"nodes",component:NUt}]});const mp=jD(RZe);console.log("Loaded main.js");function VUt(n){const e={};for(const t in n)n.hasOwnProperty(t)&&(e[t]=n[t]);return e}const Su=vk({state(){return{is_rt_on:!1,language:"english",languages:[],currentTheme:"",personality_editor:null,showPersonalityEditor:!1,selectedPersonality:null,currentPersonConfig:{ai_name:"",ai_author:"",ai_category:"",ai_language:"",ai_description:"",ai_conditionning:"",ai_disclaimer:"",ai_icon:null},posts_headers:{accept:"application/json","Content-Type":"application/json"},client_id:"",yesNoDialog:null,universalForm:null,toast:null,news:null,messageBox:null,api_get_req:null,api_post_req:null,startSpeechRecognition:null,ready:!1,loading_infos:"",loading_progress:0,version:"unknown",settingsChanged:!1,isConnected:!1,isModelOk:!1,isGenerating:!1,config:null,mountedPers:null,mountedPersArr:[],bindingsZoo:[],modelsArr:[],selectedModel:null,personalities:[],diskUsage:null,ramUsage:null,vramUsage:null,modelsZoo:[],installedModels:[],installedBindings:[],currentModel:null,currentBinding:null,databases:[]}},mutations:{setisRTOn(n,e){n.is_rt_on=e},setLanguages(n,e){n.languages=e},setLanguage(n,e){n.language=e},setIsReady(n,e){n.ready=e},setIsConnected(n,e){n.isConnected=e},setIsModelOk(n,e){n.isModelOk=e},setIsGenerating(n,e){n.isGenerating=e},setConfig(n,e){n.config=e},setPersonalities(n,e){n.personalities=e},setMountedPers(n,e){n.mountedPers=e},setMountedPersArr(n,e){n.mountedPersArr=e},setbindingsZoo(n,e){n.bindingsZoo=e},setModelsArr(n,e){n.modelsArr=e},setselectedModel(n,e){n.selectedModel=e},setDiskUsage(n,e){n.diskUsage=e},setRamUsage(n,e){n.ramUsage=e},setVramUsage(n,e){n.vramUsage=e},setModelsZoo(n,e){n.modelsZoo=e},setCurrentBinding(n,e){n.currentBinding=e},setCurrentModel(n,e){n.currentModel=e},setDatabases(n,e){n.databases=e},setTheme(n){this.currentTheme=n}},getters:{getisRTOn(n){return n.is_rt_on},getLanguages(n){return n.languages},getLanguage(n){return n.language},getIsConnected(n){return n.isConnected},getIsModelOk(n){return n.isModelOk},getIsGenerating(n){return n.isGenerating},getConfig(n){return n.config},getPersonalities(n){return n.personalities},getMountedPersArr(n){return n.mountedPersArr},getMountedPers(n){return n.mountedPers},getbindingsZoo(n){return n.bindingsZoo},getModelsArr(n){return n.modelsArr},getDiskUsage(n){return n.diskUsage},getRamUsage(n){return n.ramUsage},getVramUsage(n){return n.vramUsage},getDatabasesList(n){return n.databases},getModelsZoo(n){return n.modelsZoo},getCyrrentBinding(n){return n.currentBinding},getCurrentModel(n){return n.currentModel}},actions:{async getVersion(){try{let n=await Se.get("/get_lollms_webui_version",{});n&&(this.state.version=n.data,console.log("version res:",n),console.log("version :",this.state.version))}catch{console.log("Coudln't get version")}},async refreshConfig({commit:n}){console.log("Fetching configuration");try{const e=await tM("get_config",this.state.client_id);e.active_personality_id<0&&(e.active_personality_id=0);let t=e.personalities[e.active_personality_id].split("/");e.personality_category=t[0],e.personality_folder=t[1],console.log("Recovered config"),console.log(e),console.log("Committing config"),console.log(e),console.log(this.state.config),n("setConfig",e)}catch(e){console.log(e.message,"refreshConfig")}},async refreshDatabase({commit:n}){let e=await Qi("list_databases");console.log("databases:",e),n("setDatabases",e)},async fetchisRTOn({commit:n}){console.log("is_rt_on",this.state.client_id);const e=await Se.get("/is_rt_on");console.log("response",e);const t=e.data.status;console.log("is_rt_on",t),n("setRTOn",t)},async fetchLanguages({commit:n}){console.log("get_personality_languages_list",this.state.client_id);const e=await Se.post("/get_personality_languages_list",{client_id:this.state.client_id});console.log("response",e);const t=e.data;console.log("languages",t),n("setLanguages",t)},async fetchLanguage({commit:n}){console.log("get_personality_language",this.state.client_id);const e=await Se.post("/get_personality_language",{client_id:this.state.client_id});console.log("response",e);const t=e.data;console.log("language",t),n("setLanguage",t)},async changeLanguage({commit:n},e){console.log("Changing language to ",e);let t=await Se.post("/set_personality_language",{client_id:this.state.client_id,language:e});console.log("get_personality_languages_list",this.state.client_id),t=await Se.post("/get_personality_languages_list",{client_id:this.state.client_id}),console.log("response",t);const i=t.data;console.log("languages",i),n("setLanguages",i),t=await Se.post("/get_personality_language",{client_id:this.state.client_id}),console.log("response",t);const s=t.data;console.log("language",s),n("setLanguage",s),console.log("Language changed successfully:",t.data.message)},async deleteLanguage({commit:n},e){console.log("Deleting ",e);let t=await Se.post("/del_personality_language",{client_id:this.state.client_id,language:e});console.log("get_personality_languages_list",this.state.client_id),t=await Se.post("/get_personality_languages_list",{client_id:this.state.client_id}),console.log("response",t);const i=t.data;console.log("languages",i),n("setLanguages",i),t=await Se.post("/get_personality_language",{client_id:this.state.client_id}),console.log("response",t);const s=t.data;console.log("language",s),n("setLanguage",s),console.log("Language changed successfully:",t.data.message)},async refreshPersonalitiesZoo({commit:n}){let e=[];const t=await Qi("get_all_personalities"),i=Object.keys(t);console.log("Personalities recovered:"+this.state.config.personalities);for(let s=0;s{let u=!1;for(const h of this.state.config.personalities)if(h.includes(r+"/"+l.folder))if(u=!0,h.includes(":")){const f=h.split(":");l.language=f[1]}else l.language=null;let d={};return d=l,d.category=r,d.full_path=r+"/"+l.folder,d.isMounted=u,d});e.length==0?e=a:e=e.concat(a)}e.sort((s,r)=>s.name.localeCompare(r.name)),n("setPersonalities",e),console.log("Done loading personalities")},refreshMountedPersonalities({commit:n}){this.state.config.active_personality_id<0&&(this.state.config.active_personality_id=0);let e=[];const t=[];for(let i=0;ia.full_path==s||a.full_path==r[0]);if(o>=0){let a=VUt(this.state.personalities[o]);r.length>1&&(a.language=r[1]),a?e.push(a):e.push(this.state.personalities[this.state.personalities.findIndex(l=>l.full_path=="generic/lollms")])}else t.push(i),console.log("Couldn't load personality : ",s)}for(let i=t.length-1;i>=0;i--)console.log("Removing personality : ",this.state.config.personalities[t[i]]),this.state.config.personalities.splice(t[i],1),this.state.config.active_personality_id>t[i]&&(this.state.config.active_personality_id-=1);n("setMountedPersArr",e),this.state.mountedPers=this.state.personalities[this.state.personalities.findIndex(i=>i.full_path==this.state.config.personalities[this.state.config.active_personality_id]||i.full_path+":"+i.language==this.state.config.personalities[this.state.config.active_personality_id])]},async refreshBindings({commit:n}){let e=await Qi("list_bindings");console.log("Loaded bindings zoo :",e),this.state.installedBindings=e.filter(i=>i.installed),console.log("Loaded bindings zoo ",this.state.installedBindings),n("setbindingsZoo",e);const t=e.findIndex(i=>i.name==this.state.config.binding_name);t!=-1&&n("setCurrentBinding",e[t])},async refreshModelsZoo({commit:n}){console.log("Fetching models");const t=(await Se.get("/get_available_models")).data.filter(i=>i.variants&&i.variants.length>0);console.log(`get_available_models: ${t}`),n("setModelsZoo",t)},async refreshModelStatus({commit:n}){let e=await Qi("get_model_status");n("setIsModelOk",e.status)},async refreshModels({commit:n}){console.log("Fetching models");let e=await Qi("list_models");console.log(`Found ${e}`);let t=await Qi("get_active_model");console.log("Selected model ",t),t!=null&&n("setselectedModel",t.model),n("setModelsArr",e),console.log("setModelsArr",e),console.log("this.state.modelsZoo",this.state.modelsZoo),this.state.modelsZoo.map(s=>{s.isInstalled=e.includes(s.name)}),this.state.installedModels=this.state.modelsZoo.filter(s=>s.isInstalled);const i=this.state.modelsZoo.findIndex(s=>s.name==this.state.config.model_name);i!=-1&&n("setCurrentModel",this.state.modelsZoo[i])},async refreshDiskUsage({commit:n}){this.state.diskUsage=await Qi("disk_usage")},async refreshRamUsage({commit:n}){this.state.ramUsage=await Qi("ram_usage")},async refreshVramUsage({commit:n}){const e=await Qi("vram_usage"),t=[];if(e.nb_gpus>0){for(let s=0;s!!t.value),onPointerDown:l=>{t.value={x:l.pageX,y:l.pageY},i.value={x:n.value.x,y:n.value.y}},onPointerMove:l=>{if(t.value){const u=l.pageX-t.value.x,d=l.pageY-t.value.y;n.value.x=i.value.x+u/e.value.scaling,n.value.y=i.value.y+d/e.value.scaling}},onPointerUp:()=>{t.value=null,i.value=null}}}function GI(n,e,t){if(!e.template)return!1;if(La(e.template)===t)return!0;const i=n.graphTemplates.find(r=>La(r)===t);return i?i.nodes.filter(r=>r.type.startsWith(lc)).some(r=>GI(n,e,r.type)):!1}function VI(n){return st(()=>{const e=Array.from(n.value.editor.nodeTypes.entries()),t=new Set(e.map(([,s])=>s.category)),i=[];for(const s of t.values()){let r=e.filter(([,o])=>o.category===s);n.value.displayedGraph.template?r=r.filter(([o])=>!GI(n.value.editor,n.value.displayedGraph,o)):r=r.filter(([o])=>![Da,ka].includes(o)),r.length>0&&i.push({name:s,nodeTypes:Object.fromEntries(r)})}return i.sort((s,r)=>s.name==="default"?-1:r.name==="default"||s.name>r.name?1:-1),i})}function zI(){const{graph:n}=Ki();return{transform:(t,i)=>{const s=t/n.value.scaling-n.value.panning.x,r=i/n.value.scaling-n.value.panning.y;return[s,r]}}}function ckt(){const{graph:n}=Ki();let e=[],t=-1,i={x:0,y:0};const s=st(()=>n.value.panning),r=BI(s),o=st(()=>({"transform-origin":"0 0",transform:`scale(${n.value.scaling}) translate(${n.value.panning.x}px, ${n.value.panning.y}px)`})),a=(_,m,E)=>{const b=[_/n.value.scaling-n.value.panning.x,m/n.value.scaling-n.value.panning.y],g=[_/E-n.value.panning.x,m/E-n.value.panning.y],y=[g[0]-b[0],g[1]-b[1]];n.value.panning.x+=y[0],n.value.panning.y+=y[1],n.value.scaling=E},l=_=>{_.preventDefault();let m=_.deltaY;_.deltaMode===1&&(m*=32);const E=n.value.scaling*(1-m/3e3);a(_.offsetX,_.offsetY,E)},u=()=>({ax:e[0].clientX,ay:e[0].clientY,bx:e[1].clientX,by:e[1].clientY});return{styles:o,...r,onPointerDown:_=>{if(e.push(_),r.onPointerDown(_),e.length===2){const{ax:m,ay:E,bx:b,by:g}=u();i={x:m+(b-m)/2,y:E+(g-E)/2}}},onPointerMove:_=>{for(let m=0;m0){const C=n.value.scaling*(1+(S-t)/500);a(i.x,i.y,C)}t=S}else r.onPointerMove(_)},onPointerUp:_=>{e=e.filter(m=>m.pointerId!==_.pointerId),t=-1,r.onPointerUp()},onMouseWheel:l}}var Ei=(n=>(n[n.NONE=0]="NONE",n[n.ALLOWED=1]="ALLOWED",n[n.FORBIDDEN=2]="FORBIDDEN",n))(Ei||{});const HI=Symbol();function dkt(){const{graph:n}=Ki(),e=ft(null),t=ft(null),i=a=>{e.value&&(e.value.mx=a.offsetX/n.value.scaling-n.value.panning.x,e.value.my=a.offsetY/n.value.scaling-n.value.panning.y)},s=()=>{if(t.value){if(e.value)return;const a=n.value.connections.find(l=>l.to===t.value);t.value.isInput&&a?(e.value={status:Ei.NONE,from:a.from},n.value.removeConnection(a)):e.value={status:Ei.NONE,from:t.value},e.value.mx=void 0,e.value.my=void 0}},r=()=>{if(e.value&&t.value){if(e.value.from===t.value)return;n.value.addConnection(e.value.from,e.value.to)}e.value=null},o=a=>{if(t.value=a??null,a&&e.value){e.value.to=a;const l=n.value.checkConnection(e.value.from,e.value.to);if(e.value.status=l.connectionAllowed?Ei.ALLOWED:Ei.FORBIDDEN,l.connectionAllowed){const u=l.connectionsInDanger.map(d=>d.id);n.value.connections.forEach(d=>{u.includes(d.id)&&(d.isInDanger=!0)})}}else!a&&e.value&&(e.value.to=void 0,e.value.status=Ei.NONE,n.value.connections.forEach(l=>{l.isInDanger=!1}))};return sa(HI,{temporaryConnection:e,hoveredOver:o}),{temporaryConnection:e,onMouseMove:i,onMouseDown:s,onMouseUp:r,hoveredOver:o}}function ukt(n){const e=ft(!1),t=ft(0),i=ft(0),s=VI(n),{transform:r}=zI(),o=st(()=>{let d=[];const h={};for(const _ of s.value){const m=Object.entries(_.nodeTypes).map(([E,b])=>({label:b.title,value:"addNode:"+E}));_.name==="default"?d=m:h[_.name]=m}const f=[...Object.entries(h).map(([_,m])=>({label:_,submenu:m}))];return f.length>0&&d.length>0&&f.push({isDivider:!0}),f.push(...d),f}),a=st(()=>n.value.settings.contextMenu.additionalItems.length===0?o.value:[{label:"Add node",submenu:o.value},...n.value.settings.contextMenu.additionalItems.map(d=>"isDivider"in d||"submenu"in d?d:{label:d.label,value:"command:"+d.command,disabled:!n.value.commandHandler.canExecuteCommand(d.command)})]);function l(d){e.value=!0,t.value=d.offsetX,i.value=d.offsetY}function u(d){if(d.startsWith("addNode:")){const h=d.substring(8),f=n.value.editor.nodeTypes.get(h);if(!f)return;const _=ei(new f.type);n.value.displayedGraph.addNode(_);const[m,E]=r(t.value,i.value);_.position.x=m,_.position.y=E}else if(d.startsWith("command:")){const h=d.substring(8);n.value.commandHandler.canExecuteCommand(h)&&n.value.commandHandler.executeCommand(h)}}return{show:e,x:t,y:i,items:a,open:l,onClick:u}}const pkt=_n({setup(){const{viewModel:n}=Oi(),{graph:e}=Ki();return{styles:st(()=>{const i=n.value.settings.background,s=e.value.panning.x*e.value.scaling,r=e.value.panning.y*e.value.scaling,o=e.value.scaling*i.gridSize,a=o/i.gridDivision,l=`${o}px ${o}px, ${o}px ${o}px`,u=e.value.scaling>i.subGridVisibleThreshold?`, ${a}px ${a}px, ${a}px ${a}px`:"";return{backgroundPosition:`left ${s}px top ${r}px`,backgroundSize:`${l} ${u}`}})}}}),hn=(n,e)=>{const t=n.__vccOpts||n;for(const[i,s]of e)t[i]=s;return t};function _kt(n,e,t,i,s,r){return w(),A("div",{class:"background",style:en(n.styles)},null,4)}const hkt=hn(pkt,[["render",_kt]]);function fkt(n){return eR()?(NM(n),!0):!1}function uy(n){return typeof n=="function"?n():yt(n)}const qI=typeof window<"u"&&typeof document<"u";typeof WorkerGlobalScope<"u"&&globalThis instanceof WorkerGlobalScope;const mkt=Object.prototype.toString,gkt=n=>mkt.call(n)==="[object Object]",Vd=()=>{},bkt=Ekt();function Ekt(){var n,e;return qI&&((n=window==null?void 0:window.navigator)==null?void 0:n.userAgent)&&(/iP(ad|hone|od)/.test(window.navigator.userAgent)||((e=window==null?void 0:window.navigator)==null?void 0:e.maxTouchPoints)>2&&/iPad|Macintosh/.test(window==null?void 0:window.navigator.userAgent))}function ykt(n,e,t=!1){return e.reduce((i,s)=>(s in n&&(!t||n[s]!==void 0)&&(i[s]=n[s]),i),{})}function vkt(n,e={}){if(!fn(n))return d2(n);const t=Array.isArray(n.value)?Array.from({length:n.value.length}):{};for(const i in n.value)t[i]=c2(()=>({get(){return n.value[i]},set(s){var r;if((r=uy(e.replaceRef))!=null?r:!0)if(Array.isArray(n.value)){const a=[...n.value];a[i]=s,n.value=a}else{const a={...n.value,[i]:s};Object.setPrototypeOf(a,Object.getPrototypeOf(n.value)),n.value=a}else n.value[i]=s}}));return t}function Al(n){var e;const t=uy(n);return(e=t==null?void 0:t.$el)!=null?e:t}const py=qI?window:void 0;function Vl(...n){let e,t,i,s;if(typeof n[0]=="string"||Array.isArray(n[0])?([t,i,s]=n,e=py):[e,t,i,s]=n,!e)return Vd;Array.isArray(t)||(t=[t]),Array.isArray(i)||(i=[i]);const r=[],o=()=>{r.forEach(d=>d()),r.length=0},a=(d,h,f,_)=>(d.addEventListener(h,f,_),()=>d.removeEventListener(h,f,_)),l=qn(()=>[Al(e),uy(s)],([d,h])=>{if(o(),!d)return;const f=gkt(h)?{...h}:h;r.push(...t.flatMap(_=>i.map(m=>a(d,_,m,f))))},{immediate:!0,flush:"post"}),u=()=>{l(),o()};return fkt(u),u}let Uw=!1;function YI(n,e,t={}){const{window:i=py,ignore:s=[],capture:r=!0,detectIframe:o=!1}=t;if(!i)return Vd;bkt&&!Uw&&(Uw=!0,Array.from(i.document.body.children).forEach(f=>f.addEventListener("click",Vd)),i.document.documentElement.addEventListener("click",Vd));let a=!0;const l=f=>s.some(_=>{if(typeof _=="string")return Array.from(i.document.querySelectorAll(_)).some(m=>m===f.target||f.composedPath().includes(m));{const m=Al(_);return m&&(f.target===m||f.composedPath().includes(m))}}),d=[Vl(i,"click",f=>{const _=Al(n);if(!(!_||_===f.target||f.composedPath().includes(_))){if(f.detail===0&&(a=!l(f)),!a){a=!0;return}e(f)}},{passive:!0,capture:r}),Vl(i,"pointerdown",f=>{const _=Al(n);a=!l(f)&&!!(_&&!f.composedPath().includes(_))},{passive:!0}),o&&Vl(i,"blur",f=>{setTimeout(()=>{var _;const m=Al(n);((_=i.document.activeElement)==null?void 0:_.tagName)==="IFRAME"&&!(m!=null&&m.contains(i.document.activeElement))&&e(f)},0)})].filter(Boolean);return()=>d.forEach(f=>f())}const $I={x:0,y:0,pointerId:0,pressure:0,tiltX:0,tiltY:0,width:0,height:0,twist:0,pointerType:null},Skt=Object.keys($I);function Tkt(n={}){const{target:e=py}=n,t=ft(!1),i=ft(n.initialValue||{});Object.assign(i.value,$I,i.value);const s=r=>{t.value=!0,!(n.pointerTypes&&!n.pointerTypes.includes(r.pointerType))&&(i.value=ykt(r,Skt,!1))};if(e){const r={passive:!0};Vl(e,["pointerdown","pointermove","pointerup"],s,r),Vl(e,"pointerleave",()=>t.value=!1,r)}return{...vkt(i),isInside:t}}const xkt=["onMouseenter","onMouseleave","onClick"],Ckt={class:"flex-fill"},wkt={key:0,class:"__submenu-icon",style:{"line-height":"1em"}},Rkt=c("svg",{width:"13",height:"13",viewBox:"-60 120 250 250"},[c("path",{d:"M160.875 279.5625 L70.875 369.5625 L70.875 189.5625 L160.875 279.5625 Z",stroke:"none",fill:"white"})],-1),Akt=[Rkt],_y=_n({__name:"ContextMenu",props:{modelValue:{type:Boolean},items:{},x:{default:0},y:{default:0},isNested:{type:Boolean,default:!1},isFlipped:{default:()=>({x:!1,y:!1})},flippable:{type:Boolean,default:!1}},emits:["update:modelValue","click"],setup(n,{emit:e}){const t=n,i=e;let s=null;const r=ft(null),o=ft(-1),a=ft(0),l=ft({x:!1,y:!1}),u=st(()=>t.flippable&&(l.value.x||t.isFlipped.x)),d=st(()=>t.flippable&&(l.value.y||t.isFlipped.y)),h=st(()=>{const y={};return t.isNested||(y.top=(d.value?t.y-a.value:t.y)+"px",y.left=t.x+"px"),y}),f=st(()=>({"--flipped-x":u.value,"--flipped-y":d.value,"--nested":t.isNested})),_=st(()=>t.items.map(y=>({...y,hover:!1})));qn([()=>t.y,()=>t.items],()=>{var y,v,S,C;a.value=t.items.length*30;const T=((v=(y=r.value)==null?void 0:y.parentElement)==null?void 0:v.offsetWidth)??0,O=((C=(S=r.value)==null?void 0:S.parentElement)==null?void 0:C.offsetHeight)??0;l.value.x=!t.isNested&&t.x>T*.75,l.value.y=!t.isNested&&t.y+a.value>O-20}),YI(r,()=>{t.modelValue&&i("update:modelValue",!1)});const m=y=>{!y.submenu&&y.value&&(i("click",y.value),i("update:modelValue",!1))},E=y=>{i("click",y),o.value=-1,t.isNested||i("update:modelValue",!1)},b=(y,v)=>{t.items[v].submenu&&(o.value=v,s!==null&&(clearTimeout(s),s=null))},g=(y,v)=>{t.items[v].submenu&&(s=window.setTimeout(()=>{o.value=-1,s=null},200))};return(y,v)=>{const S=mt("ContextMenu",!0);return w(),xt(Vi,{name:"slide-fade"},{default:We(()=>[G(c("div",{ref_key:"el",ref:r,class:ze(["baklava-context-menu",f.value]),style:en(h.value)},[(w(!0),A($e,null,lt(_.value,(C,T)=>(w(),A($e,null,[C.isDivider?(w(),A("div",{key:`d-${T}`,class:"divider"})):(w(),A("div",{key:`i-${T}`,class:ze(["item",{submenu:!!C.submenu,"--disabled":!!C.disabled}]),onMouseenter:O=>b(O,T),onMouseleave:O=>g(O,T),onClick:ge(O=>m(C),["stop","prevent"])},[c("div",Ckt,he(C.label),1),C.submenu?(w(),A("div",wkt,Akt)):V("",!0),C.submenu?(w(),xt(S,{key:1,"model-value":o.value===T,items:C.submenu,"is-nested":!0,"is-flipped":{x:u.value,y:d.value},flippable:y.flippable,onClick:E},null,8,["model-value","items","is-flipped","flippable"])):V("",!0)],42,xkt))],64))),256))],6),[[Mt,y.modelValue]])]),_:1})}}}),Nkt={},Okt={xmlns:"http://www.w3.org/2000/svg",class:"baklava-icon",width:"16",height:"16",viewBox:"0 0 24 24","stroke-width":"2",stroke:"currentColor",fill:"none","stroke-linecap":"round","stroke-linejoin":"round"},Ikt=c("path",{stroke:"none",d:"M0 0h24v24H0z",fill:"none"},null,-1),Mkt=c("circle",{cx:"12",cy:"12",r:"1"},null,-1),Dkt=c("circle",{cx:"12",cy:"19",r:"1"},null,-1),kkt=c("circle",{cx:"12",cy:"5",r:"1"},null,-1),Lkt=[Ikt,Mkt,Dkt,kkt];function Pkt(n,e){return w(),A("svg",Okt,Lkt)}const WI=hn(Nkt,[["render",Pkt]]),Ukt=["id"],Fkt={key:0,class:"__tooltip"},Bkt={key:2,class:"align-middle"},Fw=_n({__name:"NodeInterface",props:{node:{},intf:{}},setup(n){const e=(b,g=100)=>{const y=b!=null&&b.toString?b.toString():"";return y.length>g?y.slice(0,g)+"...":y},t=n,{viewModel:i}=Oi(),{hoveredOver:s,temporaryConnection:r}=Gi(HI),o=ft(null),a=st(()=>t.intf.connectionCount>0),l=ft(!1),u=st(()=>i.value.settings.displayValueOnHover&&l.value),d=st(()=>({"--input":t.intf.isInput,"--output":!t.intf.isInput,"--connected":a.value})),h=st(()=>t.intf.component&&(!t.intf.isInput||!t.intf.port||t.intf.connectionCount===0)),f=()=>{l.value=!0,s(t.intf)},_=()=>{l.value=!1,s(void 0)},m=()=>{o.value&&i.value.hooks.renderInterface.execute({intf:t.intf,el:o.value})},E=()=>{const b=i.value.displayedGraph.sidebar;b.nodeId=t.node.id,b.optionName=t.intf.name,b.visible=!0};return Ws(m),uc(m),(b,g)=>{var y;return w(),A("div",{id:b.intf.id,ref_key:"el",ref:o,class:ze(["baklava-node-interface",d.value])},[b.intf.port?(w(),A("div",{key:0,class:ze(["__port",{"--selected":((y=yt(r))==null?void 0:y.from)===b.intf}]),onPointerover:f,onPointerout:_},[kn(b.$slots,"portTooltip",{showTooltip:u.value},()=>[u.value===!0?(w(),A("span",Fkt,he(e(b.intf.value)),1)):V("",!0)])],34)):V("",!0),h.value?(w(),xt(Lu(b.intf.component),{key:1,modelValue:b.intf.value,"onUpdate:modelValue":g[0]||(g[0]=v=>b.intf.value=v),node:b.node,intf:b.intf,onOpenSidebar:E},null,40,["modelValue","node","intf"])):(w(),A("span",Bkt,he(b.intf.name),1))],10,Ukt)}}}),Gkt=["id","data-node-type"],Vkt={class:"__title-label"},zkt={class:"__menu"},Hkt={class:"__outputs"},qkt={class:"__inputs"},Ykt=_n({__name:"Node",props:{node:{},selected:{type:Boolean,default:!1},dragging:{type:Boolean}},emits:["select","start-drag"],setup(n,{emit:e}){const t=n,i=e,{viewModel:s}=Oi(),{graph:r,switchGraph:o}=Ki(),a=ft(null),l=ft(!1),u=ft(""),d=ft(null),h=ft(!1),f=ft(!1),_=st(()=>{const F=[{value:"rename",label:"Rename"},{value:"delete",label:"Delete"}];return t.node.type.startsWith(lc)&&F.push({value:"editSubgraph",label:"Edit Subgraph"}),F}),m=st(()=>({"--selected":t.selected,"--dragging":t.dragging,"--two-column":!!t.node.twoColumn})),E=st(()=>{var F,B;return{top:`${((F=t.node.position)==null?void 0:F.y)??0}px`,left:`${((B=t.node.position)==null?void 0:B.x)??0}px`,"--width":`${t.node.width??s.value.settings.nodes.defaultWidth}px`}}),b=st(()=>Object.values(t.node.inputs).filter(F=>!F.hidden)),g=st(()=>Object.values(t.node.outputs).filter(F=>!F.hidden)),y=()=>{i("select")},v=F=>{t.selected||y(),i("start-drag",F)},S=()=>{f.value=!0},C=async F=>{var B;switch(F){case"delete":r.value.removeNode(t.node);break;case"rename":u.value=t.node.title,l.value=!0,await Ge(),(B=d.value)==null||B.focus();break;case"editSubgraph":o(t.node.template);break}},T=()=>{t.node.title=u.value,l.value=!1},O=()=>{a.value&&s.value.hooks.renderNode.execute({node:t.node,el:a.value})},k=F=>{h.value=!0,F.preventDefault()},x=F=>{if(!h.value)return;const B=t.node.width+F.movementX/r.value.scaling,ne=s.value.settings.nodes.minWidth,L=s.value.settings.nodes.maxWidth;t.node.width=Math.max(ne,Math.min(L,B))},I=()=>{h.value=!1};return Ws(()=>{O(),window.addEventListener("mousemove",x),window.addEventListener("mouseup",I)}),uc(O),Va(()=>{window.removeEventListener("mousemove",x),window.removeEventListener("mouseup",I)}),(F,B)=>(w(),A("div",{id:F.node.id,ref_key:"el",ref:a,class:ze(["baklava-node",m.value]),style:en(E.value),"data-node-type":F.node.type,onPointerdown:y},[yt(s).settings.nodes.resizable?(w(),A("div",{key:0,class:"__resize-handle",onMousedown:k},null,32)):V("",!0),kn(F.$slots,"title",{},()=>[c("div",{class:"__title",onPointerdown:ge(v,["self","stop"])},[l.value?G((w(),A("input",{key:1,ref_key:"renameInputEl",ref:d,"onUpdate:modelValue":B[1]||(B[1]=ne=>u.value=ne),type:"text",class:"baklava-input",placeholder:"Node Name",onBlur:T,onKeydown:Hs(T,["enter"])},null,544)),[[xe,u.value]]):(w(),A($e,{key:0},[c("div",Vkt,he(F.node.title),1),c("div",zkt,[Te(WI,{class:"--clickable",onClick:S}),Te(_y,{modelValue:f.value,"onUpdate:modelValue":B[0]||(B[0]=ne=>f.value=ne),x:0,y:0,items:_.value,onClick:C},null,8,["modelValue","items"])])],64))],32)]),kn(F.$slots,"content",{},()=>[c("div",{class:"__content",onKeydown:B[2]||(B[2]=Hs(ge(()=>{},["stop"]),["delete"]))},[c("div",Hkt,[(w(!0),A($e,null,lt(g.value,ne=>kn(F.$slots,"nodeInterface",{key:ne.id,type:"output",node:F.node,intf:ne},()=>[Te(Fw,{node:F.node,intf:ne},null,8,["node","intf"])])),128))]),c("div",qkt,[(w(!0),A($e,null,lt(b.value,ne=>kn(F.$slots,"nodeInterface",{key:ne.id,type:"input",node:F.node,intf:ne},()=>[Te(Fw,{node:F.node,intf:ne},null,8,["node","intf"])])),128))])],32)])],46,Gkt))}}),$kt=_n({props:{x1:{type:Number,required:!0},y1:{type:Number,required:!0},x2:{type:Number,required:!0},y2:{type:Number,required:!0},state:{type:Number,default:Ei.NONE},isTemporary:{type:Boolean,default:!1}},setup(n){const{viewModel:e}=Oi(),{graph:t}=Ki(),i=(o,a)=>{const l=(o+t.value.panning.x)*t.value.scaling,u=(a+t.value.panning.y)*t.value.scaling;return[l,u]},s=st(()=>{const[o,a]=i(n.x1,n.y1),[l,u]=i(n.x2,n.y2);if(e.value.settings.useStraightConnections)return`M ${o} ${a} L ${l} ${u}`;{const d=.3*Math.abs(o-l);return`M ${o} ${a} C ${o+d} ${a}, ${l-d} ${u}, ${l} ${u}`}}),r=st(()=>({"--temporary":n.isTemporary,"--allowed":n.state===Ei.ALLOWED,"--forbidden":n.state===Ei.FORBIDDEN}));return{d:s,classes:r}}}),Wkt=["d"];function Kkt(n,e,t,i,s,r){return w(),A("path",{class:ze(["baklava-connection",n.classes]),d:n.d},null,10,Wkt)}const KI=hn($kt,[["render",Kkt]]);function jkt(n){return document.getElementById(n.id)}function Pa(n){const e=document.getElementById(n.id),t=e==null?void 0:e.getElementsByClassName("__port");return{node:(e==null?void 0:e.closest(".baklava-node"))??null,interface:e,port:t&&t.length>0?t[0]:null}}const Qkt=_n({components:{"connection-view":KI},props:{connection:{type:Object,required:!0}},setup(n){const{graph:e}=Ki();let t;const i=ft({x1:0,y1:0,x2:0,y2:0}),s=st(()=>n.connection.isInDanger?Ei.FORBIDDEN:Ei.NONE),r=st(()=>{var u;return(u=e.value.findNodeById(n.connection.from.nodeId))==null?void 0:u.position}),o=st(()=>{var u;return(u=e.value.findNodeById(n.connection.to.nodeId))==null?void 0:u.position}),a=u=>u.node&&u.interface&&u.port?[u.node.offsetLeft+u.interface.offsetLeft+u.port.offsetLeft+u.port.clientWidth/2,u.node.offsetTop+u.interface.offsetTop+u.port.offsetTop+u.port.clientHeight/2]:[0,0],l=()=>{const u=Pa(n.connection.from),d=Pa(n.connection.to);u.node&&d.node&&(t||(t=new ResizeObserver(()=>{l()}),t.observe(u.node),t.observe(d.node)));const[h,f]=a(u),[_,m]=a(d);i.value={x1:h,y1:f,x2:_,y2:m}};return Ws(async()=>{await Ge(),l()}),Va(()=>{t&&t.disconnect()}),qn([r,o],()=>l(),{deep:!0}),{d:i,state:s}}});function Xkt(n,e,t,i,s,r){const o=mt("connection-view");return w(),xt(o,{x1:n.d.x1,y1:n.d.y1,x2:n.d.x2,y2:n.d.y2,state:n.state},null,8,["x1","y1","x2","y2","state"])}const Zkt=hn(Qkt,[["render",Xkt]]);function yu(n){return n.node&&n.interface&&n.port?[n.node.offsetLeft+n.interface.offsetLeft+n.port.offsetLeft+n.port.clientWidth/2,n.node.offsetTop+n.interface.offsetTop+n.port.offsetTop+n.port.clientHeight/2]:[0,0]}const Jkt=_n({components:{"connection-view":KI},props:{connection:{type:Object,required:!0}},setup(n){const e=st(()=>n.connection?n.connection.status:Ei.NONE);return{d:st(()=>{if(!n.connection)return{input:[0,0],output:[0,0]};const i=yu(Pa(n.connection.from)),s=n.connection.to?yu(Pa(n.connection.to)):[n.connection.mx||i[0],n.connection.my||i[1]];return n.connection.from.isInput?{input:s,output:i}:{input:i,output:s}}),status:e}}});function eLt(n,e,t,i,s,r){const o=mt("connection-view");return w(),xt(o,{x1:n.d.input[0],y1:n.d.input[1],x2:n.d.output[0],y2:n.d.output[1],state:n.status,"is-temporary":""},null,8,["x1","y1","x2","y2","state"])}const tLt=hn(Jkt,[["render",eLt]]),nLt=_n({setup(){const{viewModel:n}=Oi(),{graph:e}=Ki(),t=ft(null),i=$d(n.value.settings.sidebar,"width"),s=st(()=>n.value.settings.sidebar.resizable),r=st(()=>{const h=e.value.sidebar.nodeId;return e.value.nodes.find(f=>f.id===h)}),o=st(()=>({width:`${i.value}px`})),a=st(()=>r.value?[...Object.values(r.value.inputs),...Object.values(r.value.outputs)].filter(f=>f.displayInSidebar&&f.component):[]),l=()=>{e.value.sidebar.visible=!1},u=()=>{window.addEventListener("mousemove",d),window.addEventListener("mouseup",()=>{window.removeEventListener("mousemove",d)},{once:!0})},d=h=>{var f,_;const m=((_=(f=t.value)==null?void 0:f.parentElement)==null?void 0:_.getBoundingClientRect().width)??500;let E=i.value-h.movementX;E<300?E=300:E>.9*m&&(E=.9*m),i.value=E};return{el:t,graph:e,resizable:s,node:r,styles:o,displayedInterfaces:a,startResize:u,close:l}}}),iLt={class:"__header"},sLt={class:"__node-name"};function rLt(n,e,t,i,s,r){return w(),A("div",{ref:"el",class:ze(["baklava-sidebar",{"--open":n.graph.sidebar.visible}]),style:en(n.styles)},[n.resizable?(w(),A("div",{key:0,class:"__resizer",onMousedown:e[0]||(e[0]=(...o)=>n.startResize&&n.startResize(...o))},null,32)):V("",!0),c("div",iLt,[c("button",{tabindex:"-1",class:"__close",onClick:e[1]||(e[1]=(...o)=>n.close&&n.close(...o))},"×"),c("div",sLt,[c("b",null,he(n.node?n.node.title:""),1)])]),(w(!0),A($e,null,lt(n.displayedInterfaces,o=>(w(),A("div",{key:o.id,class:"__interface"},[(w(),xt(Lu(o.component),{modelValue:o.value,"onUpdate:modelValue":a=>o.value=a,node:n.node,intf:o},null,8,["modelValue","onUpdate:modelValue","node","intf"]))]))),128))],6)}const oLt=hn(nLt,[["render",rLt]]),aLt=_n({__name:"Minimap",setup(n){const{viewModel:e}=Oi(),{graph:t}=Ki(),i=ft(null),s=ft(!1);let r,o=!1,a={x1:0,y1:0,x2:0,y2:0},l;const u=()=>{var T,O;if(!r)return;r.canvas.width=i.value.offsetWidth,r.canvas.height=i.value.offsetHeight;const k=new Map,x=new Map;for(const L of t.value.nodes){const $=jkt(L),H=($==null?void 0:$.offsetWidth)??0,U=($==null?void 0:$.offsetHeight)??0,Q=((T=L.position)==null?void 0:T.x)??0,J=((O=L.position)==null?void 0:O.y)??0;k.set(L,{x1:Q,y1:J,x2:Q+H,y2:J+U}),x.set(L,$)}const I={x1:Number.MAX_SAFE_INTEGER,y1:Number.MAX_SAFE_INTEGER,x2:Number.MIN_SAFE_INTEGER,y2:Number.MIN_SAFE_INTEGER};for(const L of k.values())L.x1I.x2&&(I.x2=L.x2),L.y2>I.y2&&(I.y2=L.y2);const F=50;I.x1-=F,I.y1-=F,I.x2+=F,I.y2+=F,a=I;const B=r.canvas.width/r.canvas.height,ne=(a.x2-a.x1)/(a.y2-a.y1);if(B>ne){const L=(B-ne)*(a.y2-a.y1)*.5;a.x1-=L,a.x2+=L}else{const L=a.x2-a.x1,$=a.y2-a.y1,H=(L-B*$)/B*.5;a.y1-=H,a.y2+=H}r.clearRect(0,0,r.canvas.width,r.canvas.height),r.strokeStyle="white";for(const L of t.value.connections){const[$,H]=yu(Pa(L.from)),[U,Q]=yu(Pa(L.to)),[J,j]=d($,H),[ae,ve]=d(U,Q);if(r.beginPath(),r.moveTo(J,j),e.value.settings.useStraightConnections)r.lineTo(ae,ve);else{const ee=.3*Math.abs(J-ae);r.bezierCurveTo(J+ee,j,ae-ee,ve,ae,ve)}r.stroke()}r.strokeStyle="lightgray";for(const[L,$]of k.entries()){const[H,U]=d($.x1,$.y1),[Q,J]=d($.x2,$.y2);r.fillStyle=f(x.get(L)),r.beginPath(),r.rect(H,U,Q-H,J-U),r.fill(),r.stroke()}if(s.value){const L=m(),[$,H]=d(L.x1,L.y1),[U,Q]=d(L.x2,L.y2);r.fillStyle="rgba(255, 255, 255, 0.2)",r.fillRect($,H,U-$,Q-H)}},d=(T,O)=>[(T-a.x1)/(a.x2-a.x1)*r.canvas.width,(O-a.y1)/(a.y2-a.y1)*r.canvas.height],h=(T,O)=>[T*(a.x2-a.x1)/r.canvas.width+a.x1,O*(a.y2-a.y1)/r.canvas.height+a.y1],f=T=>{if(T){const O=T.querySelector(".__content");if(O){const x=_(O);if(x)return x}const k=_(T);if(k)return k}return"gray"},_=T=>{const O=getComputedStyle(T).backgroundColor;if(O&&O!=="rgba(0, 0, 0, 0)")return O},m=()=>{const T=i.value.parentElement.offsetWidth,O=i.value.parentElement.offsetHeight,k=T/t.value.scaling-t.value.panning.x,x=O/t.value.scaling-t.value.panning.y;return{x1:-t.value.panning.x,y1:-t.value.panning.y,x2:k,y2:x}},E=T=>{T.button===0&&(o=!0,b(T))},b=T=>{if(o){const[O,k]=h(T.offsetX,T.offsetY),x=m(),I=(x.x2-x.x1)/2,F=(x.y2-x.y1)/2;t.value.panning.x=-(O-I),t.value.panning.y=-(k-F)}},g=()=>{o=!1},y=()=>{s.value=!0},v=()=>{s.value=!1,g()};qn([s,t.value.panning,()=>t.value.scaling,()=>t.value.connections.length],()=>{u()});const S=st(()=>t.value.nodes.map(T=>T.position)),C=st(()=>t.value.nodes.map(T=>T.width));return qn([S,C],()=>{u()},{deep:!0}),Ws(()=>{r=i.value.getContext("2d"),r.imageSmoothingQuality="high",u(),l=setInterval(u,500)}),Va(()=>{clearInterval(l)}),(T,O)=>(w(),A("canvas",{ref_key:"canvas",ref:i,class:"baklava-minimap",onMouseenter:y,onMouseleave:v,onMousedown:ge(E,["self"]),onMousemove:ge(b,["self"]),onMouseup:g},null,544))}}),lLt=_n({components:{ContextMenu:_y,VerticalDots:WI},props:{type:{type:String,required:!0},title:{type:String,required:!0}},setup(n){const{viewModel:e}=Oi(),{switchGraph:t}=Ki(),i=ft(!1),s=st(()=>n.type.startsWith(lc));return{showContextMenu:i,hasContextMenu:s,contextMenuItems:[{label:"Edit Subgraph",value:"editSubgraph"},{label:"Delete Subgraph",value:"deleteSubgraph"}],openContextMenu:()=>{i.value=!0},onContextMenuClick:l=>{const u=n.type.substring(lc.length),d=e.value.editor.graphTemplates.find(h=>h.id===u);if(d)switch(l){case"editSubgraph":t(d);break;case"deleteSubgraph":e.value.editor.removeGraphTemplate(d);break}}}}}),cLt=["data-node-type"],dLt={class:"__title"},uLt={class:"__title-label"},pLt={key:0,class:"__menu"};function _Lt(n,e,t,i,s,r){const o=mt("vertical-dots"),a=mt("context-menu");return w(),A("div",{class:"baklava-node --palette","data-node-type":n.type},[c("div",dLt,[c("div",uLt,he(n.title),1),n.hasContextMenu?(w(),A("div",pLt,[Te(o,{class:"--clickable",onPointerdown:e[0]||(e[0]=ge(()=>{},["stop","prevent"])),onClick:ge(n.openContextMenu,["stop","prevent"])},null,8,["onClick"]),Te(a,{modelValue:n.showContextMenu,"onUpdate:modelValue":e[1]||(e[1]=l=>n.showContextMenu=l),x:-100,y:0,items:n.contextMenuItems,onClick:n.onContextMenuClick,onPointerdown:e[2]||(e[2]=ge(()=>{},["stop","prevent"]))},null,8,["modelValue","items","onClick"])])):V("",!0)])],8,cLt)}const Bw=hn(lLt,[["render",_Lt]]),hLt={class:"baklava-node-palette"},fLt={key:0},mLt=_n({__name:"NodePalette",setup(n){const{viewModel:e}=Oi(),{x:t,y:i}=Tkt(),{transform:s}=zI(),r=VI(e),o=Gi("editorEl"),a=ft(null),l=st(()=>{if(!a.value||!(o!=null&&o.value))return{};const{left:d,top:h}=o.value.getBoundingClientRect();return{top:`${i.value-h}px`,left:`${t.value-d}px`}}),u=(d,h)=>{a.value={type:d,nodeInformation:h};const f=()=>{const _=ei(new h.type);e.value.displayedGraph.addNode(_);const m=o.value.getBoundingClientRect(),[E,b]=s(t.value-m.left,i.value-m.top);_.position.x=E,_.position.y=b,a.value=null,document.removeEventListener("pointerup",f)};document.addEventListener("pointerup",f)};return(d,h)=>(w(),A($e,null,[c("div",hLt,[(w(!0),A($e,null,lt(yt(r),f=>(w(),A("section",{key:f.name},[f.name!=="default"?(w(),A("h1",fLt,he(f.name),1)):V("",!0),(w(!0),A($e,null,lt(f.nodeTypes,(_,m)=>(w(),xt(Bw,{key:m,type:m,title:_.title,onPointerdown:E=>u(m,_)},null,8,["type","title","onPointerdown"]))),128))]))),128))]),Te(Vi,{name:"fade"},{default:We(()=>[a.value?(w(),A("div",{key:0,class:"baklava-dragged-node",style:en(l.value)},[Te(Bw,{type:a.value.type,title:a.value.nodeInformation.title},null,8,["type","title"])],4)):V("",!0)]),_:1})],64))}});let Cd;const gLt=new Uint8Array(16);function bLt(){if(!Cd&&(Cd=typeof crypto<"u"&&crypto.getRandomValues&&crypto.getRandomValues.bind(crypto),!Cd))throw new Error("crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported");return Cd(gLt)}const wn=[];for(let n=0;n<256;++n)wn.push((n+256).toString(16).slice(1));function ELt(n,e=0){return wn[n[e+0]]+wn[n[e+1]]+wn[n[e+2]]+wn[n[e+3]]+"-"+wn[n[e+4]]+wn[n[e+5]]+"-"+wn[n[e+6]]+wn[n[e+7]]+"-"+wn[n[e+8]]+wn[n[e+9]]+"-"+wn[n[e+10]]+wn[n[e+11]]+wn[n[e+12]]+wn[n[e+13]]+wn[n[e+14]]+wn[n[e+15]]}const yLt=typeof crypto<"u"&&crypto.randomUUID&&crypto.randomUUID.bind(crypto),Gw={randomUUID:yLt};function vu(n,e,t){if(Gw.randomUUID&&!e&&!n)return Gw.randomUUID();n=n||{};const i=n.random||(n.rng||bLt)();if(i[6]=i[6]&15|64,i[8]=i[8]&63|128,e){t=t||0;for(let s=0;s<16;++s)e[t+s]=i[s];return e}return ELt(i)}const cc="SAVE_SUBGRAPH";function vLt(n,e){const t=()=>{const i=n.value;if(!i.template)throw new Error("Graph template property not set");i.template.update(i.save()),i.template.panning=i.panning,i.template.scaling=i.scaling};e.registerCommand(cc,{canExecute:()=>{var i;return n.value!==((i=n.value.editor)==null?void 0:i.graph)},execute:t})}const SLt={},TLt={xmlns:"http://www.w3.org/2000/svg",class:"baklava-icon",width:"24",height:"24",viewBox:"0 0 24 24","stroke-width":"2",stroke:"currentColor",fill:"none","stroke-linecap":"round","stroke-linejoin":"round"},xLt=c("polyline",{points:"6 9 12 15 18 9"},null,-1),CLt=[xLt];function wLt(n,e){return w(),A("svg",TLt,CLt)}const RLt=hn(SLt,[["render",wLt]]),ALt=_n({components:{"i-arrow":RLt},props:{intf:{type:Object,required:!0}},setup(n){const e=ft(null),t=ft(!1),i=st(()=>n.intf.items.find(o=>typeof o=="string"?o===n.intf.value:o.value===n.intf.value)),s=st(()=>i.value?typeof i.value=="string"?i.value:i.value.text:""),r=o=>{n.intf.value=typeof o=="string"?o:o.value};return YI(e,()=>{t.value=!1}),{el:e,open:t,selectedItem:i,selectedText:s,setSelected:r}}}),NLt=["title"],OLt={class:"__selected"},ILt={class:"__text"},MLt={class:"__icon"},DLt={class:"__dropdown"},kLt={class:"item --header"},LLt=["onClick"];function PLt(n,e,t,i,s,r){const o=mt("i-arrow");return w(),A("div",{ref:"el",class:ze(["baklava-select",{"--open":n.open}]),title:n.intf.name,onClick:e[0]||(e[0]=a=>n.open=!n.open)},[c("div",OLt,[c("div",ILt,he(n.selectedText),1),c("div",MLt,[Te(o)])]),Te(Vi,{name:"slide-fade"},{default:We(()=>[G(c("div",DLt,[c("div",kLt,he(n.intf.name),1),(w(!0),A($e,null,lt(n.intf.items,(a,l)=>(w(),A("div",{key:l,class:ze(["item",{"--active":a===n.selectedItem}]),onClick:u=>n.setSelected(a)},he(typeof a=="string"?a:a.text),11,LLt))),128))],512),[[Mt,n.open]])]),_:1})],10,NLt)}const ULt=hn(ALt,[["render",PLt]]);class FLt extends nn{constructor(e,t,i){super(e,t),this.component=dc(ULt),this.items=i}}const BLt=_n({props:{intf:{type:Object,required:!0}}});function GLt(n,e,t,i,s,r){return w(),A("div",null,he(n.intf.value),1)}const VLt=hn(BLt,[["render",GLt]]);class zLt extends nn{constructor(e,t){super(e,t),this.component=dc(VLt),this.setPort(!1)}}const HLt=_n({props:{intf:{type:Object,required:!0},modelValue:{type:String,required:!0}},emits:["update:modelValue"],setup(n,{emit:e}){return{v:st({get:()=>n.modelValue,set:i=>{e("update:modelValue",i)}})}}}),qLt=["placeholder","title"];function YLt(n,e,t,i,s,r){return w(),A("div",null,[G(c("input",{"onUpdate:modelValue":e[0]||(e[0]=o=>n.v=o),type:"text",class:"baklava-input",placeholder:n.intf.name,title:n.intf.name},null,8,qLt),[[xe,n.v]])])}const $Lt=hn(HLt,[["render",YLt]]);class Tc extends nn{constructor(){super(...arguments),this.component=dc($Lt)}}class jI extends LI{constructor(){super(...arguments),this._title="Subgraph Input",this.inputs={name:new Tc("Name","Input").setPort(!1)},this.outputs={placeholder:new nn("Connection",void 0)}}}class QI extends PI{constructor(){super(...arguments),this._title="Subgraph Output",this.inputs={name:new Tc("Name","Output").setPort(!1),placeholder:new nn("Connection",void 0)},this.outputs={output:new nn("Output",void 0).setHidden(!0)}}}const XI="CREATE_SUBGRAPH",Vw=[Da,ka];function WLt(n,e,t){const i=()=>n.value.selectedNodes.filter(r=>!Vw.includes(r.type)).length>0,s=()=>{const{viewModel:r}=Oi(),o=n.value,a=n.value.editor;if(o.selectedNodes.length===0)return;const l=o.selectedNodes.filter(x=>!Vw.includes(x.type)),u=l.flatMap(x=>Object.values(x.inputs)),d=l.flatMap(x=>Object.values(x.outputs)),h=o.connections.filter(x=>!d.includes(x.from)&&u.includes(x.to)),f=o.connections.filter(x=>d.includes(x.from)&&!u.includes(x.to)),_=o.connections.filter(x=>d.includes(x.from)&&u.includes(x.to)),m=l.map(x=>x.save()),E=_.map(x=>({id:x.id,from:x.from.id,to:x.to.id})),b=new Map,{xLeft:g,xRight:y,yTop:v}=KLt(l);console.log(g,y,v);for(const[x,I]of h.entries()){const F=new jI;F.inputs.name.value=I.to.name,m.push({...F.save(),position:{x:y-r.value.settings.nodes.defaultWidth-100,y:v+x*200}}),E.push({id:vu(),from:F.outputs.placeholder.id,to:I.to.id}),b.set(I.to.id,F.graphInterfaceId)}for(const[x,I]of f.entries()){const F=new QI;F.inputs.name.value=I.from.name,m.push({...F.save(),position:{x:g+100,y:v+x*200}}),E.push({id:vu(),from:I.from.id,to:F.inputs.placeholder.id}),b.set(I.from.id,F.graphInterfaceId)}const S=ei(new fp({connections:E,nodes:m,inputs:[],outputs:[]},a));a.addGraphTemplate(S);const C=a.nodeTypes.get(La(S));if(!C)throw new Error("Unable to create subgraph: Could not find corresponding graph node type");const T=ei(new C.type);o.addNode(T);const O=Math.round(l.map(x=>x.position.x).reduce((x,I)=>x+I,0)/l.length),k=Math.round(l.map(x=>x.position.y).reduce((x,I)=>x+I,0)/l.length);T.position.x=O,T.position.y=k,h.forEach(x=>{o.removeConnection(x),o.addConnection(x.from,T.inputs[b.get(x.to.id)])}),f.forEach(x=>{o.removeConnection(x),o.addConnection(T.outputs[b.get(x.from.id)],x.to)}),l.forEach(x=>o.removeNode(x)),e.canExecuteCommand(cc)&&e.executeCommand(cc),t(S),n.value.panning={...o.panning},n.value.scaling=o.scaling};e.registerCommand(XI,{canExecute:i,execute:s})}function KLt(n){const e=n.reduce((s,r)=>{const o=r.position.x;return o{const o=r.position.y;return o{const o=r.position.x+r.width;return o>s?o:s},-1/0),xRight:e,yTop:t}}const zw="DELETE_NODES";function jLt(n,e){e.registerCommand(zw,{canExecute:()=>n.value.selectedNodes.length>0,execute(){n.value.selectedNodes.forEach(t=>n.value.removeNode(t))}}),e.registerHotkey(["Delete"],zw)}const ZI="SWITCH_TO_MAIN_GRAPH";function QLt(n,e,t){e.registerCommand(ZI,{canExecute:()=>n.value!==n.value.editor.graph,execute:()=>{e.executeCommand(cc),t(n.value.editor.graph)}})}function XLt(n,e,t){jLt(n,e),WLt(n,e,t),vLt(n,e),QLt(n,e,t)}class Hw{constructor(e,t){this.type=e,e==="addNode"?this.nodeId=t:this.nodeState=t}undo(e){this.type==="addNode"?this.removeNode(e):this.addNode(e)}redo(e){this.type==="addNode"&&this.nodeState?this.addNode(e):this.type==="removeNode"&&this.nodeId&&this.removeNode(e)}addNode(e){const t=e.editor.nodeTypes.get(this.nodeState.type);if(!t)return;const i=new t.type;e.addNode(i),i.load(this.nodeState),this.nodeId=i.id}removeNode(e){const t=e.nodes.find(i=>i.id===this.nodeId);t&&(this.nodeState=t.save(),e.removeNode(t))}}class qw{constructor(e,t){if(this.type=e,e==="addConnection")this.connectionId=t;else{const i=t;this.connectionState={id:i.id,from:i.from.id,to:i.to.id}}}undo(e){this.type==="addConnection"?this.removeConnection(e):this.addConnection(e)}redo(e){this.type==="addConnection"&&this.connectionState?this.addConnection(e):this.type==="removeConnection"&&this.connectionId&&this.removeConnection(e)}addConnection(e){const t=e.findNodeInterface(this.connectionState.from),i=e.findNodeInterface(this.connectionState.to);!t||!i||e.addConnection(t,i)}removeConnection(e){const t=e.connections.find(i=>i.id===this.connectionId);t&&(this.connectionState={id:t.id,from:t.from.id,to:t.to.id},e.removeConnection(t))}}class ZLt{constructor(e){if(this.type="transaction",e.length===0)throw new Error("Can't create a transaction with no steps");this.steps=e}undo(e){for(let t=this.steps.length-1;t>=0;t--)this.steps[t].undo(e)}redo(e){for(let t=0;t{if(!r.value)if(a.value)l.value.push(b);else for(o.value!==s.value.length-1&&(s.value=s.value.slice(0,o.value+1)),s.value.push(b),o.value++;s.value.length>i.value;)s.value.shift()},d=()=>{a.value=!0},h=()=>{a.value=!1,l.value.length>0&&(u(new ZLt(l.value)),l.value=[])},f=()=>s.value.length!==0&&o.value!==-1,_=()=>{f()&&(r.value=!0,s.value[o.value--].undo(n.value),r.value=!1)},m=()=>s.value.length!==0&&o.value{m()&&(r.value=!0,s.value[++o.value].redo(n.value),r.value=!1)};return qn(n,(b,g)=>{g&&(g.events.addNode.unsubscribe(t),g.events.removeNode.unsubscribe(t),g.events.addConnection.unsubscribe(t),g.events.removeConnection.unsubscribe(t)),b&&(b.events.addNode.subscribe(t,y=>{u(new Hw("addNode",y.id))}),b.events.removeNode.subscribe(t,y=>{u(new Hw("removeNode",y.save()))}),b.events.addConnection.subscribe(t,y=>{u(new qw("addConnection",y.id))}),b.events.removeConnection.subscribe(t,y=>{u(new qw("removeConnection",y))}))},{immediate:!0}),e.registerCommand(vb,{canExecute:f,execute:_}),e.registerCommand(Sb,{canExecute:m,execute:E}),e.registerCommand(JI,{canExecute:()=>!a.value,execute:d}),e.registerCommand(eM,{canExecute:()=>a.value,execute:h}),e.registerHotkey(["Control","z"],vb),e.registerHotkey(["Control","y"],Sb),ei({maxSteps:i})}const Tb="COPY",xb="PASTE",ePt="CLEAR_CLIPBOARD";function tPt(n,e,t){const i=Symbol("ClipboardToken"),s=ft(""),r=ft(""),o=st(()=>!s.value),a=()=>{s.value="",r.value=""},l=()=>{const h=n.value.selectedNodes.flatMap(_=>[...Object.values(_.inputs),...Object.values(_.outputs)]),f=n.value.connections.filter(_=>h.includes(_.from)||h.includes(_.to)).map(_=>({from:_.from.id,to:_.to.id}));r.value=JSON.stringify(f),s.value=JSON.stringify(n.value.selectedNodes.map(_=>_.save()))},u=(h,f,_)=>{for(const m of h){let E;if((!_||_==="input")&&(E=Object.values(m.inputs).find(b=>b.id===f)),!E&&(!_||_==="output")&&(E=Object.values(m.outputs).find(b=>b.id===f)),E)return E}},d=()=>{if(o.value)return;const h=new Map,f=JSON.parse(s.value),_=JSON.parse(r.value),m=[],E=[],b=n.value;t.executeCommand(JI);for(const g of f){const y=e.value.nodeTypes.get(g.type);if(!y){console.warn(`Node type ${g.type} not registered`);return}const v=new y.type,S=v.id;m.push(v),v.hooks.beforeLoad.subscribe(i,C=>{const T=C;return T.position&&(T.position.x+=100,T.position.y+=100),v.hooks.beforeLoad.unsubscribe(i),T}),b.addNode(v),v.load({...g,id:S}),v.id=S,h.set(g.id,S);for(const C of Object.values(v.inputs)){const T=vu();h.set(C.id,T),C.id=T}for(const C of Object.values(v.outputs)){const T=vu();h.set(C.id,T),C.id=T}}for(const g of _){const y=u(m,h.get(g.from),"output"),v=u(m,h.get(g.to),"input");if(!y||!v)continue;const S=b.addConnection(y,v);S&&E.push(S)}return n.value.selectedNodes=m,t.executeCommand(eM),{newNodes:m,newConnections:E}};return t.registerCommand(Tb,{canExecute:()=>n.value.selectedNodes.length>0,execute:l}),t.registerHotkey(["Control","c"],Tb),t.registerCommand(xb,{canExecute:()=>!o.value,execute:d}),t.registerHotkey(["Control","v"],xb),t.registerCommand(ePt,{canExecute:()=>!0,execute:a}),ei({isEmpty:o})}const nPt="OPEN_SIDEBAR";function iPt(n,e){e.registerCommand(nPt,{execute:t=>{n.value.sidebar.nodeId=t,n.value.sidebar.visible=!0},canExecute:()=>!0})}function sPt(n,e){iPt(n,e)}const rPt={},oPt={xmlns:"http://www.w3.org/2000/svg",class:"baklava-icon",width:"24",height:"24",viewBox:"0 0 24 24","stroke-width":"2",stroke:"currentColor",fill:"none","stroke-linecap":"round","stroke-linejoin":"round"},aPt=c("path",{stroke:"none",d:"M0 0h24v24H0z",fill:"none"},null,-1),lPt=c("path",{d:"M9 13l-4 -4l4 -4m-4 4h11a4 4 0 0 1 0 8h-1"},null,-1),cPt=[aPt,lPt];function dPt(n,e){return w(),A("svg",oPt,cPt)}const uPt=hn(rPt,[["render",dPt]]),pPt={},_Pt={xmlns:"http://www.w3.org/2000/svg",class:"baklava-icon",width:"24",height:"24",viewBox:"0 0 24 24","stroke-width":"2",stroke:"currentColor",fill:"none","stroke-linecap":"round","stroke-linejoin":"round"},hPt=c("path",{stroke:"none",d:"M0 0h24v24H0z",fill:"none"},null,-1),fPt=c("path",{d:"M15 13l4 -4l-4 -4m4 4h-11a4 4 0 0 0 0 8h1"},null,-1),mPt=[hPt,fPt];function gPt(n,e){return w(),A("svg",_Pt,mPt)}const bPt=hn(pPt,[["render",gPt]]),EPt={},yPt={xmlns:"http://www.w3.org/2000/svg",class:"baklava-icon",width:"24",height:"24",viewBox:"0 0 24 24","stroke-width":"2",stroke:"currentColor",fill:"none","stroke-linecap":"round","stroke-linejoin":"round"},vPt=c("path",{stroke:"none",d:"M0 0h24v24H0z",fill:"none"},null,-1),SPt=c("line",{x1:"5",y1:"12",x2:"19",y2:"12"},null,-1),TPt=c("line",{x1:"5",y1:"12",x2:"11",y2:"18"},null,-1),xPt=c("line",{x1:"5",y1:"12",x2:"11",y2:"6"},null,-1),CPt=[vPt,SPt,TPt,xPt];function wPt(n,e){return w(),A("svg",yPt,CPt)}const RPt=hn(EPt,[["render",wPt]]),APt={},NPt={xmlns:"http://www.w3.org/2000/svg",class:"baklava-icon",width:"24",height:"24",viewBox:"0 0 24 24","stroke-width":"2",stroke:"currentColor",fill:"none","stroke-linecap":"round","stroke-linejoin":"round"},OPt=c("path",{stroke:"none",d:"M0 0h24v24H0z",fill:"none"},null,-1),IPt=c("path",{d:"M9 5h-2a2 2 0 0 0 -2 2v12a2 2 0 0 0 2 2h10a2 2 0 0 0 2 -2v-12a2 2 0 0 0 -2 -2h-2"},null,-1),MPt=c("rect",{x:"9",y:"3",width:"6",height:"4",rx:"2"},null,-1),DPt=[OPt,IPt,MPt];function kPt(n,e){return w(),A("svg",NPt,DPt)}const LPt=hn(APt,[["render",kPt]]),PPt={},UPt={xmlns:"http://www.w3.org/2000/svg",class:"baklava-icon",width:"24",height:"24",viewBox:"0 0 24 24","stroke-width":"2",stroke:"currentColor",fill:"none","stroke-linecap":"round","stroke-linejoin":"round"},FPt=c("path",{stroke:"none",d:"M0 0h24v24H0z",fill:"none"},null,-1),BPt=c("rect",{x:"8",y:"8",width:"12",height:"12",rx:"2"},null,-1),GPt=c("path",{d:"M16 8v-2a2 2 0 0 0 -2 -2h-8a2 2 0 0 0 -2 2v8a2 2 0 0 0 2 2h2"},null,-1),VPt=[FPt,BPt,GPt];function zPt(n,e){return w(),A("svg",UPt,VPt)}const HPt=hn(PPt,[["render",zPt]]),qPt={},YPt={xmlns:"http://www.w3.org/2000/svg",class:"baklava-icon",width:"24",height:"24",viewBox:"0 0 24 24","stroke-width":"2",stroke:"currentColor",fill:"none","stroke-linecap":"round","stroke-linejoin":"round"},$Pt=c("path",{stroke:"none",d:"M0 0h24v24H0z",fill:"none"},null,-1),WPt=c("path",{d:"M6 4h10l4 4v10a2 2 0 0 1 -2 2h-12a2 2 0 0 1 -2 -2v-12a2 2 0 0 1 2 -2"},null,-1),KPt=c("circle",{cx:"12",cy:"14",r:"2"},null,-1),jPt=c("polyline",{points:"14 4 14 8 8 8 8 4"},null,-1),QPt=[$Pt,WPt,KPt,jPt];function XPt(n,e){return w(),A("svg",YPt,QPt)}const ZPt=hn(qPt,[["render",XPt]]),JPt={},eUt={xmlns:"http://www.w3.org/2000/svg",class:"baklava-icon",width:"24",height:"24",viewBox:"0 0 24 24","stroke-width":"2",stroke:"currentColor",fill:"none","stroke-linecap":"round","stroke-linejoin":"round"},tUt=Fu('',6),nUt=[tUt];function iUt(n,e){return w(),A("svg",eUt,nUt)}const sUt=hn(JPt,[["render",iUt]]),rUt=_n({props:{command:{type:String,required:!0},title:{type:String,required:!0},icon:{type:Object,required:!1,default:void 0}},setup(){const{viewModel:n}=Oi();return{viewModel:n}}}),oUt=["disabled","title"];function aUt(n,e,t,i,s,r){return w(),A("button",{class:"baklava-toolbar-entry baklava-toolbar-button",disabled:!n.viewModel.commandHandler.canExecuteCommand(n.command),title:n.title,onClick:e[0]||(e[0]=o=>n.viewModel.commandHandler.executeCommand(n.command))},[n.icon?(w(),xt(Lu(n.icon),{key:0})):(w(),A($e,{key:1},[et(he(n.title),1)],64))],8,oUt)}const lUt=hn(rUt,[["render",aUt]]),cUt=_n({components:{ToolbarButton:lUt},setup(){const{viewModel:n}=Oi();return{isSubgraph:st(()=>n.value.displayedGraph!==n.value.editor.graph),commands:[{command:Tb,title:"Copy",icon:HPt},{command:xb,title:"Paste",icon:LPt},{command:vb,title:"Undo",icon:uPt},{command:Sb,title:"Redo",icon:bPt},{command:XI,title:"Create Subgraph",icon:sUt}],subgraphCommands:[{command:cc,title:"Save Subgraph",icon:ZPt},{command:ZI,title:"Back to Main Graph",icon:RPt}]}}}),dUt={class:"baklava-toolbar"};function uUt(n,e,t,i,s,r){const o=mt("toolbar-button");return w(),A("div",dUt,[(w(!0),A($e,null,lt(n.commands,a=>(w(),xt(o,{key:a.command,command:a.command,title:a.title,icon:a.icon},null,8,["command","title","icon"]))),128)),n.isSubgraph?(w(!0),A($e,{key:0},lt(n.subgraphCommands,a=>(w(),xt(o,{key:a.command,command:a.command,title:a.title,icon:a.icon},null,8,["command","title","icon"]))),128)):V("",!0)])}const pUt=hn(cUt,[["render",uUt]]),_Ut={class:"connections-container"},hUt=_n({__name:"Editor",props:{viewModel:{}},setup(n){const e=n,t=Symbol("EditorToken"),i=$d(e,"viewModel");lkt(i);const s=ft(null);sa("editorEl",s);const r=st(()=>e.viewModel.displayedGraph.nodes),o=st(()=>e.viewModel.displayedGraph.nodes.map(O=>BI($d(O,"position")))),a=st(()=>e.viewModel.displayedGraph.connections),l=st(()=>e.viewModel.displayedGraph.selectedNodes),u=ckt(),d=dkt(),h=ukt(i),f=st(()=>({...u.styles.value})),_=ft(0);e.viewModel.editor.hooks.load.subscribe(t,O=>(_.value++,O));const m=O=>{u.onPointerMove(O),d.onMouseMove(O)},E=O=>{O.button===0&&(O.target===s.value&&(S(),u.onPointerDown(O)),d.onMouseDown())},b=O=>{u.onPointerUp(O),d.onMouseUp()},g=O=>{O.key==="Tab"&&O.preventDefault(),e.viewModel.commandHandler.handleKeyDown(O)},y=O=>{e.viewModel.commandHandler.handleKeyUp(O)},v=O=>{["Control","Shift"].some(k=>e.viewModel.commandHandler.pressedKeys.includes(k))||S(),e.viewModel.displayedGraph.selectedNodes.push(O)},S=()=>{e.viewModel.displayedGraph.selectedNodes=[]},C=O=>{for(const k of e.viewModel.displayedGraph.selectedNodes){const x=r.value.indexOf(k),I=o.value[x];I.onPointerDown(O),document.addEventListener("pointermove",I.onPointerMove)}document.addEventListener("pointerup",T)},T=()=>{for(const O of e.viewModel.displayedGraph.selectedNodes){const k=r.value.indexOf(O),x=o.value[k];x.onPointerUp(),document.removeEventListener("pointermove",x.onPointerMove)}document.removeEventListener("pointerup",T)};return(O,k)=>(w(),A("div",{ref_key:"el",ref:s,tabindex:"-1",class:ze(["baklava-editor",{"baklava-ignore-mouse":!!yt(d).temporaryConnection.value||yt(u).dragging.value,"--temporary-connection":!!yt(d).temporaryConnection.value}]),onPointermove:ge(m,["self"]),onPointerdown:E,onPointerup:b,onWheel:k[1]||(k[1]=ge((...x)=>yt(u).onMouseWheel&&yt(u).onMouseWheel(...x),["self"])),onKeydown:g,onKeyup:y,onContextmenu:k[2]||(k[2]=ge((...x)=>yt(h).open&&yt(h).open(...x),["self","prevent"]))},[kn(O.$slots,"background",{},()=>[Te(hkt)]),kn(O.$slots,"toolbar",{},()=>[Te(pUt)]),kn(O.$slots,"palette",{},()=>[Te(mLt)]),(w(),A("svg",_Ut,[(w(!0),A($e,null,lt(a.value,x=>(w(),A("g",{key:x.id+_.value.toString()},[kn(O.$slots,"connection",{connection:x},()=>[Te(Zkt,{connection:x},null,8,["connection"])])]))),128)),kn(O.$slots,"temporaryConnection",{temporaryConnection:yt(d).temporaryConnection.value},()=>[yt(d).temporaryConnection.value?(w(),xt(tLt,{key:0,connection:yt(d).temporaryConnection.value},null,8,["connection"])):V("",!0)])])),c("div",{class:"node-container",style:en(f.value)},[Te(as,{name:"fade"},{default:We(()=>[(w(!0),A($e,null,lt(r.value,(x,I)=>kn(O.$slots,"node",{key:x.id+_.value.toString(),node:x,selected:l.value.includes(x),dragging:o.value[I].dragging.value,onSelect:F=>v(x),onStartDrag:C},()=>[Te(Ykt,{node:x,selected:l.value.includes(x),dragging:o.value[I].dragging.value,onSelect:F=>v(x),onStartDrag:C},null,8,["node","selected","dragging","onSelect"])])),128))]),_:3})],4),kn(O.$slots,"sidebar",{},()=>[Te(oLt)]),kn(O.$slots,"minimap",{},()=>[O.viewModel.settings.enableMinimap?(w(),xt(aLt,{key:0})):V("",!0)]),kn(O.$slots,"contextMenu",{contextMenu:yt(h)},()=>[O.viewModel.settings.contextMenu.enabled?(w(),xt(_y,{key:0,modelValue:yt(h).show.value,"onUpdate:modelValue":k[0]||(k[0]=x=>yt(h).show.value=x),items:yt(h).items.value,x:yt(h).x.value,y:yt(h).y.value,onClick:yt(h).onClick},null,8,["modelValue","items","x","y","onClick"])):V("",!0)])],34))}}),fUt=["INPUT","TEXTAREA","SELECT"];function mUt(n){const e=ft([]),t=ft([]);return{pressedKeys:e,handleKeyDown:o=>{var a;e.value.includes(o.key)||e.value.push(o.key),!fUt.includes(((a=document.activeElement)==null?void 0:a.tagName)??"")&&t.value.forEach(l=>{l.keys.every(u=>e.value.includes(u))&&n(l.commandName)})},handleKeyUp:o=>{const a=e.value.indexOf(o.key);a>=0&&e.value.splice(a,1)},registerHotkey:(o,a)=>{t.value.push({keys:o,commandName:a})}}}const gUt=()=>{const n=ft(new Map),e=(r,o)=>{if(n.value.has(r))throw new Error(`Command "${r}" already exists`);n.value.set(r,o)},t=(r,o=!1,...a)=>{if(!n.value.has(r)){if(o)throw new Error(`[CommandHandler] Command ${r} not registered`);return}return n.value.get(r).execute(...a)},i=(r,o=!1,...a)=>{if(!n.value.has(r)){if(o)throw new Error(`[CommandHandler] Command ${r} not registered`);return!1}return n.value.get(r).canExecute(a)},s=mUt(t);return ei({registerCommand:e,executeCommand:t,canExecuteCommand:i,...s})},bUt=n=>!(n instanceof Sc);function EUt(n,e){return{switchGraph:i=>{let s;if(bUt(i))s=new Sc(n.value),i.createGraph(s);else{if(i!==n.value.graph)throw new Error("Can only switch using 'Graph' instance when it is the root graph. Otherwise a 'GraphTemplate' must be used.");s=i}e.value&&e.value!==n.value.graph&&e.value.destroy(),s.panning=s.panning??i.panning??{x:0,y:0},s.scaling=s.scaling??i.scaling??1,s.selectedNodes=s.selectedNodes??[],s.sidebar=s.sidebar??{visible:!1,nodeId:"",optionName:""},e.value=s}}}function yUt(n,e){n.position=n.position??{x:0,y:0},n.disablePointerEvents=!1,n.twoColumn=n.twoColumn??!1,n.width=n.width??e.defaultWidth}const vUt=()=>({useStraightConnections:!1,enableMinimap:!1,background:{gridSize:100,gridDivision:5,subGridVisibleThreshold:.6},sidebar:{width:300,resizable:!0},displayValueOnHover:!1,nodes:{defaultWidth:200,maxWidth:320,minWidth:150,resizable:!1},contextMenu:{enabled:!0,additionalItems:[]}});function SUt(n){const e=ft(n??new nkt),t=Symbol("ViewModelToken"),i=ft(null),s=s2(i),{switchGraph:r}=EUt(e,i),o=st(()=>s.value&&s.value!==e.value.graph),a=ei(vUt()),l=gUt(),u=JLt(s,l),d=tPt(s,e,l),h={renderNode:new li(null),renderInterface:new li(null)};return XLt(s,l,r),sPt(s,l),qn(e,(f,_)=>{_&&(_.events.registerGraph.unsubscribe(t),_.graphEvents.beforeAddNode.unsubscribe(t),f.nodeHooks.beforeLoad.unsubscribe(t),f.nodeHooks.afterSave.unsubscribe(t),f.graphTemplateHooks.beforeLoad.unsubscribe(t),f.graphTemplateHooks.afterSave.unsubscribe(t),f.graph.hooks.load.unsubscribe(t),f.graph.hooks.save.unsubscribe(t)),f&&(f.nodeHooks.beforeLoad.subscribe(t,(m,E)=>(E.position=m.position??{x:0,y:0},E.width=m.width??a.nodes.defaultWidth,E.twoColumn=m.twoColumn??!1,m)),f.nodeHooks.afterSave.subscribe(t,(m,E)=>(m.position=E.position,m.width=E.width,m.twoColumn=E.twoColumn,m)),f.graphTemplateHooks.beforeLoad.subscribe(t,(m,E)=>(E.panning=m.panning,E.scaling=m.scaling,m)),f.graphTemplateHooks.afterSave.subscribe(t,(m,E)=>(m.panning=E.panning,m.scaling=E.scaling,m)),f.graph.hooks.load.subscribe(t,(m,E)=>(E.panning=m.panning,E.scaling=m.scaling,m)),f.graph.hooks.save.subscribe(t,(m,E)=>(m.panning=E.panning,m.scaling=E.scaling,m)),f.graphEvents.beforeAddNode.subscribe(t,m=>yUt(m,{defaultWidth:a.nodes.defaultWidth})),e.value.registerNodeType(jI,{category:"Subgraphs"}),e.value.registerNodeType(QI,{category:"Subgraphs"}),r(f.graph))},{immediate:!0}),ei({editor:e,displayedGraph:s,isSubgraph:o,settings:a,commandHandler:l,history:u,clipboard:d,hooks:h,switchGraph:r})}const TUt=Ja({type:"PersonalityNode",title:"Personality",inputs:{request:()=>new nn("Request",""),agent_name:()=>new FLt("Personality","",Su.state.config.personalities).setPort(!1)},outputs:{response:()=>new nn("Response","")},async calculate({request:n}){console.log(Su.state.config.personalities);let e="";try{e=(await Se.post("/generate",{params:{text:n}})).data}catch(t){console.error(t)}return{display:e,response:e}}}),xUt=Ja({type:"RAGNode",title:"RAG",inputs:{request:()=>new nn("Prompt",""),document_path:()=>new Tc("Document path","").setPort(!1)},outputs:{prompt:()=>new nn("Prompt with Data","")},async calculate({request:n,document_path:e}){let t="";try{t=(await Se.get("/rag",{params:{text:n,doc_path:e}})).data}catch(i){console.error(i)}return{response:t}}}),Yw=Ja({type:"Task",title:"Task",inputs:{description:()=>new Tc("Task description","").setPort(!1)},outputs:{prompt:()=>new nn("Prompt")},calculate({description:n}){return{prompt:n}}}),$w=Ja({type:"TextDisplayNode",title:"TextDisplay",inputs:{text2display:()=>new nn("Input","")},outputs:{response:()=>new zLt("Text","")},async calculate({request:n}){}}),Ww=Ja({type:"LLMNode",title:"LLM",inputs:{request:()=>new nn("Request","")},outputs:{response:()=>new nn("Response","")},async calculate({request:n}){console.log(Su.state.config.personalities);let e="";try{e=(await Se.post("/generate",{params:{text:n}})).data}catch(t){console.error(t)}return{display:e,response:e}}}),CUt=Ja({type:"MultichoiceNode",title:"Multichoice",inputs:{question:()=>new nn("Question",""),outputs:()=>new Tc("choices, one per line","","").setPort(!1)},outputs:{response:()=>new nn("Response","")}}),wUt=_n({components:{"baklava-editor":hUt},setup(){const n=SUt(),e=new akt(n.editor);n.editor.registerNodeType(TUt),n.editor.registerNodeType(Yw),n.editor.registerNodeType(xUt),n.editor.registerNodeType($w),n.editor.registerNodeType(Ww),n.editor.registerNodeType(CUt);const t=Symbol();e.events.afterRun.subscribe(t,a=>{e.pause(),ikt(a,n.editor),e.resume()}),e.start();function i(a,l,u){const d=new a;return n.displayedGraph.addNode(d),d.position.x=l,d.position.y=u,d}const s=i(Yw,300,140),r=i(Ww,550,140),o=i($w,850,140);return n.displayedGraph.addConnection(s.outputs.prompt,r.inputs.request),n.displayedGraph.addConnection(r.outputs.response,o.inputs.text2display),{baklava:n,saveGraph:()=>{const a=e.export();localStorage.setItem("myGraph",JSON.stringify(a))},loadGraph:()=>{const a=JSON.parse(localStorage.getItem("myGraph"));e.import(a)}}}}),RUt={style:{width:"100vw",height:"100vh"}};function AUt(n,e,t,i,s,r){const o=mt("baklava-editor");return w(),A("div",RUt,[Te(o,{"view-model":n.baklava},null,8,["view-model"]),c("button",{onClick:e[0]||(e[0]=(...a)=>n.saveGraph&&n.saveGraph(...a))},"Save Graph"),c("button",{onClick:e[1]||(e[1]=(...a)=>n.loadGraph&&n.loadGraph(...a))},"Load Graph")])}const NUt=bt(wUt,[["render",AUt]]),OUt={},IUt={style:{width:"100vw",height:"100vh"}},MUt=["src"];function DUt(n,e,t,i,s,r){return w(),A("div",IUt,[c("iframe",{src:n.$store.state.config.comfyui_base_url,class:"m-0 p-0 w-full h-full"},null,8,MUt)])}const kUt=bt(OUt,[["render",DUt]]),LUt={},PUt={style:{width:"100vw",height:"100vh"}},UUt=["src"];function FUt(n,e,t,i,s,r){return w(),A("div",PUt,[c("iframe",{src:n.$store.state.config.sd_base_url,class:"m-0 p-0 w-full h-full"},null,8,UUt)])}const BUt=bt(LUt,[["render",FUt]]),GUt=HP({history:aP("/"),routes:[{path:"/auto_sd_view/",name:"AutoSD",component:BUt},{path:"/autosd_view/",name:"ComfyUI",component:kUt},{path:"/playground/",name:"playground",component:Rtt},{path:"/extensions/",name:"extensions",component:Ftt},{path:"/help_view/",name:"help_view",component:qtt},{path:"/settings/",name:"settings",component:Zbt},{path:"/training/",name:"training",component:EEt},{path:"/quantizing/",name:"quantizing",component:AEt},{path:"/",name:"discussions",component:kwt},{path:"/",name:"interactive",component:jDt},{path:"/",name:"nodes",component:NUt}]});const mp=jD(RZe);console.log("Loaded main.js");function VUt(n){const e={};for(const t in n)n.hasOwnProperty(t)&&(e[t]=n[t]);return e}const Su=vk({state(){return{is_rt_on:!1,language:"english",languages:[],currentTheme:"",personality_editor:null,showPersonalityEditor:!1,selectedPersonality:null,currentPersonConfig:{ai_name:"",ai_author:"",ai_category:"",ai_language:"",ai_description:"",ai_conditionning:"",ai_disclaimer:"",ai_icon:null},posts_headers:{accept:"application/json","Content-Type":"application/json"},client_id:"",yesNoDialog:null,universalForm:null,toast:null,news:null,messageBox:null,api_get_req:null,api_post_req:null,startSpeechRecognition:null,ready:!1,loading_infos:"",loading_progress:0,version:"unknown",settingsChanged:!1,isConnected:!1,isModelOk:!1,isGenerating:!1,config:null,mountedPers:null,mountedPersArr:[],bindingsZoo:[],modelsArr:[],selectedModel:null,personalities:[],diskUsage:null,ramUsage:null,vramUsage:null,modelsZoo:[],installedModels:[],installedBindings:[],currentModel:null,currentBinding:null,databases:[]}},mutations:{setisRTOn(n,e){n.is_rt_on=e},setLanguages(n,e){n.languages=e},setLanguage(n,e){n.language=e},setIsReady(n,e){n.ready=e},setIsConnected(n,e){n.isConnected=e},setIsModelOk(n,e){n.isModelOk=e},setIsGenerating(n,e){n.isGenerating=e},setConfig(n,e){n.config=e},setPersonalities(n,e){n.personalities=e},setMountedPers(n,e){n.mountedPers=e},setMountedPersArr(n,e){n.mountedPersArr=e},setbindingsZoo(n,e){n.bindingsZoo=e},setModelsArr(n,e){n.modelsArr=e},setselectedModel(n,e){n.selectedModel=e},setDiskUsage(n,e){n.diskUsage=e},setRamUsage(n,e){n.ramUsage=e},setVramUsage(n,e){n.vramUsage=e},setModelsZoo(n,e){n.modelsZoo=e},setCurrentBinding(n,e){n.currentBinding=e},setCurrentModel(n,e){n.currentModel=e},setDatabases(n,e){n.databases=e},setTheme(n){this.currentTheme=n}},getters:{getisRTOn(n){return n.is_rt_on},getLanguages(n){return n.languages},getLanguage(n){return n.language},getIsConnected(n){return n.isConnected},getIsModelOk(n){return n.isModelOk},getIsGenerating(n){return n.isGenerating},getConfig(n){return n.config},getPersonalities(n){return n.personalities},getMountedPersArr(n){return n.mountedPersArr},getMountedPers(n){return n.mountedPers},getbindingsZoo(n){return n.bindingsZoo},getModelsArr(n){return n.modelsArr},getDiskUsage(n){return n.diskUsage},getRamUsage(n){return n.ramUsage},getVramUsage(n){return n.vramUsage},getDatabasesList(n){return n.databases},getModelsZoo(n){return n.modelsZoo},getCyrrentBinding(n){return n.currentBinding},getCurrentModel(n){return n.currentModel}},actions:{async getVersion(){try{let n=await Se.get("/get_lollms_webui_version",{});n&&(this.state.version=n.data,console.log("version res:",n),console.log("version :",this.state.version))}catch{console.log("Coudln't get version")}},async refreshConfig({commit:n}){console.log("Fetching configuration");try{console.log("Fetching configuration with client id: ",this.state.client_id);const e=await tM("get_config",this.state.client_id);e.active_personality_id<0&&(e.active_personality_id=0);let t=e.personalities[e.active_personality_id].split("/");e.personality_category=t[0],e.personality_folder=t[1],console.log("Recovered config"),console.log(e),console.log("Committing config"),console.log(e),console.log(this.state.config),n("setConfig",e)}catch(e){console.log(e.message,"refreshConfig")}},async refreshDatabase({commit:n}){let e=await Qi("list_databases");console.log("databases:",e),n("setDatabases",e)},async fetchisRTOn({commit:n}){const t=(await Se.get("/is_rt_on")).data.status;n("setRTOn",t)},async fetchLanguages({commit:n}){console.log("get_personality_languages_list",this.state.client_id);const e=await Se.post("/get_personality_languages_list",{client_id:this.state.client_id});console.log("response",e);const t=e.data;console.log("languages",t),n("setLanguages",t)},async fetchLanguage({commit:n}){console.log("get_personality_language",this.state.client_id);const e=await Se.post("/get_personality_language",{client_id:this.state.client_id});console.log("response",e);const t=e.data;console.log("language",t),n("setLanguage",t)},async changeLanguage({commit:n},e){console.log("Changing language to ",e);let t=await Se.post("/set_personality_language",{client_id:this.state.client_id,language:e});console.log("get_personality_languages_list",this.state.client_id),t=await Se.post("/get_personality_languages_list",{client_id:this.state.client_id}),console.log("response",t);const i=t.data;console.log("languages",i),n("setLanguages",i),t=await Se.post("/get_personality_language",{client_id:this.state.client_id}),console.log("response",t);const s=t.data;console.log("language",s),n("setLanguage",s),console.log("Language changed successfully:",t.data.message)},async deleteLanguage({commit:n},e){console.log("Deleting ",e);let t=await Se.post("/del_personality_language",{client_id:this.state.client_id,language:e});console.log("get_personality_languages_list",this.state.client_id),t=await Se.post("/get_personality_languages_list",{client_id:this.state.client_id}),console.log("response",t);const i=t.data;console.log("languages",i),n("setLanguages",i),t=await Se.post("/get_personality_language",{client_id:this.state.client_id}),console.log("response",t);const s=t.data;console.log("language",s),n("setLanguage",s),console.log("Language changed successfully:",t.data.message)},async refreshPersonalitiesZoo({commit:n}){let e=[];const t=await Qi("get_all_personalities"),i=Object.keys(t);console.log("Personalities recovered:"+this.state.config.personalities);for(let s=0;s{let u=!1;for(const h of this.state.config.personalities)if(h.includes(r+"/"+l.folder))if(u=!0,h.includes(":")){const f=h.split(":");l.language=f[1]}else l.language=null;let d={};return d=l,d.category=r,d.full_path=r+"/"+l.folder,d.isMounted=u,d});e.length==0?e=a:e=e.concat(a)}e.sort((s,r)=>s.name.localeCompare(r.name)),n("setPersonalities",e),console.log("Done loading personalities")},refreshMountedPersonalities({commit:n}){this.state.config.active_personality_id<0&&(this.state.config.active_personality_id=0);let e=[];const t=[];for(let i=0;ia.full_path==s||a.full_path==r[0]);if(o>=0){let a=VUt(this.state.personalities[o]);r.length>1&&(a.language=r[1]),a?e.push(a):e.push(this.state.personalities[this.state.personalities.findIndex(l=>l.full_path=="generic/lollms")])}else t.push(i),console.log("Couldn't load personality : ",s)}for(let i=t.length-1;i>=0;i--)console.log("Removing personality : ",this.state.config.personalities[t[i]]),this.state.config.personalities.splice(t[i],1),this.state.config.active_personality_id>t[i]&&(this.state.config.active_personality_id-=1);n("setMountedPersArr",e),this.state.mountedPers=this.state.personalities[this.state.personalities.findIndex(i=>i.full_path==this.state.config.personalities[this.state.config.active_personality_id]||i.full_path+":"+i.language==this.state.config.personalities[this.state.config.active_personality_id])]},async refreshBindings({commit:n}){let e=await Qi("list_bindings");console.log("Loaded bindings zoo :",e),this.state.installedBindings=e.filter(i=>i.installed),console.log("Loaded bindings zoo ",this.state.installedBindings),n("setbindingsZoo",e);const t=e.findIndex(i=>i.name==this.state.config.binding_name);t!=-1&&n("setCurrentBinding",e[t])},async refreshModelsZoo({commit:n}){console.log("Fetching models");const t=(await Se.get("/get_available_models")).data.filter(i=>i.variants&&i.variants.length>0);console.log(`get_available_models: ${t}`),n("setModelsZoo",t)},async refreshModelStatus({commit:n}){let e=await Qi("get_model_status");n("setIsModelOk",e.status)},async refreshModels({commit:n}){console.log("Fetching models");let e=await Qi("list_models");console.log(`Found ${e}`);let t=await Qi("get_active_model");console.log("Selected model ",t),t!=null&&n("setselectedModel",t.model),n("setModelsArr",e),console.log("setModelsArr",e),console.log("this.state.modelsZoo",this.state.modelsZoo),this.state.modelsZoo.map(s=>{s.isInstalled=e.includes(s.name)}),this.state.installedModels=this.state.modelsZoo.filter(s=>s.isInstalled);const i=this.state.modelsZoo.findIndex(s=>s.name==this.state.config.model_name);i!=-1&&n("setCurrentModel",this.state.modelsZoo[i])},async refreshDiskUsage({commit:n}){this.state.diskUsage=await Qi("disk_usage")},async refreshRamUsage({commit:n}){this.state.ramUsage=await Qi("ram_usage")},async refreshVramUsage({commit:n}){const e=await Qi("vram_usage"),t=[];if(e.nb_gpus>0){for(let s=0;s LoLLMS WebUI - - + +
diff --git a/web/src/assets/default_model.png b/web/src/assets/default_model.png index 4ffb47c8..23230e0b 100644 Binary files a/web/src/assets/default_model.png and b/web/src/assets/default_model.png differ diff --git a/web/src/assets/logo.png b/web/src/assets/logo.png index 4ffb47c8..cc129f30 100644 Binary files a/web/src/assets/logo.png and b/web/src/assets/logo.png differ diff --git a/web/src/main.js b/web/src/main.js index 1b152004..bb8184f3 100644 --- a/web/src/main.js +++ b/web/src/main.js @@ -4,7 +4,6 @@ import axios from "axios"; import App from './App.vue' import router from './router' -import socket from '@/services/websocket.js' import './assets/tailwind.css' //import './assets/tailwind_april_fool.css' @@ -241,6 +240,7 @@ export const store = createStore({ async refreshConfig({ commit }) { console.log("Fetching configuration"); try { + console.log("Fetching configuration with client id: ", this.state.client_id); const configFile = await api_post_req('get_config', this.state.client_id) if(configFile.active_personality_id<0){ configFile.active_personality_id=0; @@ -267,14 +267,11 @@ export const store = createStore({ commit('setDatabases', databases); }, async fetchisRTOn({ commit }) { - console.log("is_rt_on", this.state.client_id) const response = await axios.get( '/is_rt_on' ); - console.log("response", response) const is_rt_on = response.data.status; - console.log("is_rt_on", is_rt_on) commit('setRTOn', is_rt_on); }, async fetchLanguages({ commit }) { @@ -590,13 +587,6 @@ async function refreshHardwareUsage(store) { let actionsExecuted = false; app.mixin({ - async socketIOConnected(){ - - - }, - socketIODisconnected(){ - this.$store.state.isConnected=false; - }, async created() { if (!actionsExecuted) { this.$store.state.api_get_req = api_get_req @@ -606,8 +596,6 @@ app.mixin({ console.log("Main.js created") }, beforeMount() { - socket.on('connected',this.socketIOConnected) - socket.on('disconnected',this.socketIODisconnected) console.log("Main.js before mount") }, mounted() { diff --git a/web/src/views/DiscussionsView.vue b/web/src/views/DiscussionsView.vue index f0c71be6..e3070b5d 100644 --- a/web/src/views/DiscussionsView.vue +++ b/web/src/views/DiscussionsView.vue @@ -2133,6 +2133,22 @@ export default { console.log("Created discussions view") const response = await axios.get('/get_versionID'); const serverVersionId = response.data.versionId; + + socket.onopen = () => { + console.log('WebSocket connection established.'); + if (this.currentDiscussion!=null){ + this.setPageTitle(item) + localStorage.setItem('selected_discussion', this.currentDiscussion.id) + this.load_discussion(item.id, ()=>{ + if (this.discussionArr.length > 1) { + if (this.currentDiscussion.title === '' || this.currentDiscussion.title === null) { + this.changeTitleUsingUserMSG(this.currentDiscussion.id, this.discussionArr[1].content) + } + } + }); + } + }; + if (this.versionId !== serverVersionId) { // Update the store value this.$store.commit('updateVersionId', serverVersionId); @@ -2158,6 +2174,7 @@ export default { try{ this.$store.state.loading_infos = "Loading Configuration" + while(socket.id===undefined){} this.$store.state.client_id = socket.id console.log(this.$store.state.client_id) await this.$store.dispatch('refreshConfig'); @@ -2265,20 +2282,6 @@ export default { socket.on('update_message', this.streamMessageContent) socket.on('close_message', this.finalMsgEvent) - socket.onopen = () => { - console.log('WebSocket connection established.'); - if (this.currentDiscussion!=null){ - this.setPageTitle(item) - localStorage.setItem('selected_discussion', this.currentDiscussion.id) - this.load_discussion(item.id, ()=>{ - if (this.discussionArr.length > 1) { - if (this.currentDiscussion.title === '' || this.currentDiscussion.title === null) { - this.changeTitleUsingUserMSG(this.currentDiscussion.id, this.discussionArr[1].content) - } - } - }); - } - }; socket.on('disucssion_renamed',(event)=>{ console.log('Received new title', event.discussion_id, event.title); const index = this.list.findIndex((x) => x.id == event.discussion_id)