Please contact the owner of the site that linked you to the original URL and let them know their link is broken.
diff --git a/assets/css/styles.1956e6a2.css b/assets/css/styles.1956e6a2.css
deleted file mode 100644
index 0a4a2f692..000000000
--- a/assets/css/styles.1956e6a2.css
+++ /dev/null
@@ -1 +0,0 @@
-.col,.container{padding:0 var(--ifm-spacing-horizontal);width:100%}.markdown>h2,.markdown>h3,.markdown>h4,.markdown>h5,.markdown>h6{margin-bottom:calc(var(--ifm-heading-vertical-rhythm-bottom)*var(--ifm-leading))}.markdown li,body{word-wrap:break-word}body,ol ol,ol ul,ul ol,ul ul{margin:0}pre,table{overflow:auto}blockquote,pre{margin:0 0 var(--ifm-spacing-vertical)}.breadcrumbs__link,.button{transition-timing-function:var(--ifm-transition-timing-default)}.button,code{vertical-align:middle}.button--outline.button--active,.button--outline:active,.button--outline:hover,:root{--ifm-button-color:var(--ifm-font-color-base-inverse)}.menu__link:hover,a{transition:color var(--ifm-transition-fast) var(--ifm-transition-timing-default)}.navbar--dark,:root{--ifm-navbar-link-hover-color:var(--ifm-color-primary)}.menu,.navbar-sidebar{overflow-x:hidden}:root,html[data-theme=dark]{--ifm-color-emphasis-500:var(--ifm-color-gray-500)}*,.DocSearch-Container,.DocSearch-Container *{box-sizing:border-box}.toggleButton_gllP,html{-webkit-tap-highlight-color:transparent}:root{--ifm-color-scheme:light;--ifm-dark-value:10%;--ifm-darker-value:15%;--ifm-darkest-value:30%;--ifm-light-value:15%;--ifm-lighter-value:30%;--ifm-lightest-value:50%;--ifm-contrast-background-value:90%;--ifm-contrast-foreground-value:70%;--ifm-contrast-background-dark-value:70%;--ifm-contrast-foreground-dark-value:90%;--ifm-color-primary:#3578e5;--ifm-color-secondary:#ebedf0;--ifm-color-success:#00a400;--ifm-color-info:#54c7ec;--ifm-color-warning:#ffba00;--ifm-color-danger:#fa383e;--ifm-color-primary-dark:#306cce;--ifm-color-primary-darker:#2d66c3;--ifm-color-primary-darkest:#2554a0;--ifm-color-primary-light:#538ce9;--ifm-color-primary-lighter:#72a1ed;--ifm-color-primary-lightest:#9abcf2;--ifm-color-primary-contrast-background:#ebf2fc;--ifm-color-primary-contrast-foreground:#102445;--ifm-color-secondary-dark:#d4d5d8;--ifm-color-secondary-darker:#c8c9cc;--ifm-color-secondary-darkest:#a4a6a8;--ifm-color-secondary-light:#eef0f2;--ifm-color-secondary-lighter:#f1f2f5;--ifm-color-secondary-lightest:#f5f6f8;--ifm-color-secondary-contrast-background:#fdfdfe;--ifm-color-secondary-contrast-foreground:#474748;--ifm-color-success-dark:#009400;--ifm-color-success-darker:#008b00;--ifm-color-success-darkest:#007300;--ifm-color-success-light:#26b226;--ifm-color-success-lighter:#4dbf4d;--ifm-color-success-lightest:#80d280;--ifm-color-success-contrast-background:#e6f6e6;--ifm-color-success-contrast-foreground:#003100;--ifm-color-info-dark:#4cb3d4;--ifm-color-info-darker:#47a9c9;--ifm-color-info-darkest:#3b8ba5;--ifm-color-info-light:#6ecfef;--ifm-color-info-lighter:#87d8f2;--ifm-color-info-lightest:#aae3f6;--ifm-color-info-contrast-background:#eef9fd;--ifm-color-info-contrast-foreground:#193c47;--ifm-color-warning-dark:#e6a700;--ifm-color-warning-darker:#d99e00;--ifm-color-warning-darkest:#b38200;--ifm-color-warning-light:#ffc426;--ifm-color-warning-lighter:#ffcf4d;--ifm-color-warning-lightest:#ffdd80;--ifm-color-warning-contrast-background:#fff8e6;--ifm-color-warning-contrast-foreground:#4d3800;--ifm-color-danger-dark:#e13238;--ifm-color-danger-darker:#d53035;--ifm-color-danger-darkest:#af272b;--ifm-color-danger-light:#fb565b;--ifm-color-danger-lighter:#fb7478;--ifm-color-danger-lightest:#fd9c9f;--ifm-color-danger-contrast-background:#ffebec;--ifm-color-danger-contrast-foreground:#4b1113;--ifm-color-white:#fff;--ifm-color-black:#000;--ifm-color-gray-0:var(--ifm-color-white);--ifm-color-gray-100:#f5f6f7;--ifm-color-gray-200:#ebedf0;--ifm-color-gray-300:#dadde1;--ifm-color-gray-400:#ccd0d5;--ifm-color-gray-500:#bec3c9;--ifm-color-gray-600:#8d949e;--ifm-color-gray-700:#606770;--ifm-color-gray-800:#444950;--ifm-color-gray-900:#1c1e21;--ifm-color-gray-1000:var(--ifm-color-black);--ifm-color-emphasis-0:var(--ifm-color-gray-0);--ifm-color-emphasis-100:var(--ifm-color-gray-100);--ifm-color-emphasis-200:var(--ifm-color-gray-200);--ifm-color-emphasis-300:var(--ifm-color-gray-300);--ifm-color-emphasis-400:var(--ifm-color-gray-400);--ifm-color-emphasis-600:var(--ifm-color-gray-600);--ifm-color-emphasis-700:var(--ifm-color-gray-700);--ifm-color-emphasis-800:var(--ifm-color-gray-800);--ifm-color-emphasis-900:var(--ifm-color-gray-900);--ifm-color-emphasis-1000:var(--ifm-color-gray-1000);--ifm-color-content:var(--ifm-color-emphasis-900);--ifm-color-content-inverse:var(--ifm-color-emphasis-0);--ifm-color-content-secondary:#525860;--ifm-background-color:#0000;--ifm-background-surface-color:var(--ifm-color-content-inverse);--ifm-global-border-width:1px;--ifm-global-radius:0.4rem;--ifm-hover-overlay:#0000000d;--ifm-font-color-base:var(--ifm-color-content);--ifm-font-color-base-inverse:var(--ifm-color-content-inverse);--ifm-font-color-secondary:var(--ifm-color-content-secondary);--ifm-font-family-base:system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,Cantarell,Noto Sans,sans-serif,BlinkMacSystemFont,"Segoe UI",Helvetica,Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol";--ifm-font-family-monospace:SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;--ifm-font-size-base:100%;--ifm-font-weight-light:300;--ifm-font-weight-normal:400;--ifm-font-weight-semibold:500;--ifm-font-weight-bold:700;--ifm-font-weight-base:var(--ifm-font-weight-normal);--ifm-line-height-base:1.65;--ifm-global-spacing:1rem;--ifm-spacing-vertical:var(--ifm-global-spacing);--ifm-spacing-horizontal:var(--ifm-global-spacing);--ifm-transition-fast:200ms;--ifm-transition-slow:400ms;--ifm-transition-timing-default:cubic-bezier(0.08,0.52,0.52,1);--ifm-global-shadow-lw:0 1px 2px 0 #0000001a;--ifm-global-shadow-md:0 5px 40px #0003;--ifm-global-shadow-tl:0 12px 28px 0 #0003,0 2px 4px 0 #0000001a;--ifm-z-index-dropdown:100;--ifm-z-index-fixed:200;--ifm-z-index-overlay:400;--ifm-container-width:1140px;--ifm-container-width-xl:1320px;--ifm-code-background:#f6f7f8;--ifm-code-border-radius:var(--ifm-global-radius);--ifm-code-font-size:90%;--ifm-code-padding-horizontal:0.1rem;--ifm-code-padding-vertical:0.1rem;--ifm-pre-background:var(--ifm-code-background);--ifm-pre-border-radius:var(--ifm-code-border-radius);--ifm-pre-color:inherit;--ifm-pre-line-height:1.45;--ifm-pre-padding:1rem;--ifm-heading-color:inherit;--ifm-heading-margin-top:0;--ifm-heading-margin-bottom:var(--ifm-spacing-vertical);--ifm-heading-font-family:var(--ifm-font-family-base);--ifm-heading-font-weight:var(--ifm-font-weight-bold);--ifm-heading-line-height:1.25;--ifm-h1-font-size:2rem;--ifm-h2-font-size:1.5rem;--ifm-h3-font-size:1.25rem;--ifm-h4-font-size:1rem;--ifm-h5-font-size:0.875rem;--ifm-h6-font-size:0.85rem;--ifm-image-alignment-padding:1.25rem;--ifm-leading-desktop:1.25;--ifm-leading:calc(var(--ifm-leading-desktop)*1rem);--ifm-list-left-padding:2rem;--ifm-list-margin:1rem;--ifm-list-item-margin:0.25rem;--ifm-list-paragraph-margin:1rem;--ifm-table-cell-padding:0.75rem;--ifm-table-background:#0000;--ifm-table-stripe-background:#00000008;--ifm-table-border-width:1px;--ifm-table-border-color:var(--ifm-color-emphasis-300);--ifm-table-head-background:inherit;--ifm-table-head-color:inherit;--ifm-table-head-font-weight:var(--ifm-font-weight-bold);--ifm-table-cell-color:inherit;--ifm-link-color:var(--ifm-color-primary);--ifm-link-decoration:none;--ifm-link-hover-color:var(--ifm-link-color);--ifm-link-hover-decoration:underline;--ifm-paragraph-margin-bottom:var(--ifm-leading);--ifm-blockquote-font-size:var(--ifm-font-size-base);--ifm-blockquote-border-left-width:2px;--ifm-blockquote-padding-horizontal:var(--ifm-spacing-horizontal);--ifm-blockquote-padding-vertical:0;--ifm-blockquote-shadow:none;--ifm-blockquote-color:var(--ifm-color-emphasis-800);--ifm-blockquote-border-color:var(--ifm-color-emphasis-300);--ifm-hr-background-color:var(--ifm-color-emphasis-500);--ifm-hr-height:1px;--ifm-hr-margin-vertical:1.5rem;--ifm-scrollbar-size:7px;--ifm-scrollbar-track-background-color:#f1f1f1;--ifm-scrollbar-thumb-background-color:silver;--ifm-scrollbar-thumb-hover-background-color:#a7a7a7;--ifm-alert-background-color:inherit;--ifm-alert-border-color:inherit;--ifm-alert-border-radius:var(--ifm-global-radius);--ifm-alert-border-width:0px;--ifm-alert-border-left-width:5px;--ifm-alert-color:var(--ifm-font-color-base);--ifm-alert-padding-horizontal:var(--ifm-spacing-horizontal);--ifm-alert-padding-vertical:var(--ifm-spacing-vertical);--ifm-alert-shadow:var(--ifm-global-shadow-lw);--ifm-avatar-intro-margin:1rem;--ifm-avatar-intro-alignment:inherit;--ifm-avatar-photo-size:3rem;--ifm-badge-background-color:inherit;--ifm-badge-border-color:inherit;--ifm-badge-border-radius:var(--ifm-global-radius);--ifm-badge-border-width:var(--ifm-global-border-width);--ifm-badge-color:var(--ifm-color-white);--ifm-badge-padding-horizontal:calc(var(--ifm-spacing-horizontal)*0.5);--ifm-badge-padding-vertical:calc(var(--ifm-spacing-vertical)*0.25);--ifm-breadcrumb-border-radius:1.5rem;--ifm-breadcrumb-spacing:0.5rem;--ifm-breadcrumb-color-active:var(--ifm-color-primary);--ifm-breadcrumb-item-background-active:var(--ifm-hover-overlay);--ifm-breadcrumb-padding-horizontal:0.8rem;--ifm-breadcrumb-padding-vertical:0.4rem;--ifm-breadcrumb-size-multiplier:1;--ifm-breadcrumb-separator:url('data:image/svg+xml;utf8,');--ifm-breadcrumb-separator-filter:none;--ifm-breadcrumb-separator-size:0.5rem;--ifm-breadcrumb-separator-size-multiplier:1.25;--ifm-button-background-color:inherit;--ifm-button-border-color:var(--ifm-button-background-color);--ifm-button-border-width:var(--ifm-global-border-width);--ifm-button-font-weight:var(--ifm-font-weight-bold);--ifm-button-padding-horizontal:1.5rem;--ifm-button-padding-vertical:0.375rem;--ifm-button-size-multiplier:1;--ifm-button-transition-duration:var(--ifm-transition-fast);--ifm-button-border-radius:calc(var(--ifm-global-radius)*var(--ifm-button-size-multiplier));--ifm-button-group-spacing:2px;--ifm-card-background-color:var(--ifm-background-surface-color);--ifm-card-border-radius:calc(var(--ifm-global-radius)*2);--ifm-card-horizontal-spacing:var(--ifm-global-spacing);--ifm-card-vertical-spacing:var(--ifm-global-spacing);--ifm-toc-border-color:var(--ifm-color-emphasis-300);--ifm-toc-link-color:var(--ifm-color-content-secondary);--ifm-toc-padding-vertical:0.5rem;--ifm-toc-padding-horizontal:0.5rem;--ifm-dropdown-background-color:var(--ifm-background-surface-color);--ifm-dropdown-font-weight:var(--ifm-font-weight-semibold);--ifm-dropdown-link-color:var(--ifm-font-color-base);--ifm-dropdown-hover-background-color:var(--ifm-hover-overlay);--ifm-footer-background-color:var(--ifm-color-emphasis-100);--ifm-footer-color:inherit;--ifm-footer-link-color:var(--ifm-color-emphasis-700);--ifm-footer-link-hover-color:var(--ifm-color-primary);--ifm-footer-link-horizontal-spacing:0.5rem;--ifm-footer-padding-horizontal:calc(var(--ifm-spacing-horizontal)*2);--ifm-footer-padding-vertical:calc(var(--ifm-spacing-vertical)*2);--ifm-footer-title-color:inherit;--ifm-footer-logo-max-width:min(30rem,90vw);--ifm-hero-background-color:var(--ifm-background-surface-color);--ifm-hero-text-color:var(--ifm-color-emphasis-800);--ifm-menu-color:var(--ifm-color-emphasis-700);--ifm-menu-color-active:var(--ifm-color-primary);--ifm-menu-color-background-active:var(--ifm-hover-overlay);--ifm-menu-color-background-hover:var(--ifm-hover-overlay);--ifm-menu-link-padding-horizontal:0.75rem;--ifm-menu-link-padding-vertical:0.375rem;--ifm-menu-link-sublist-icon:url('data:image/svg+xml;utf8,');--ifm-menu-link-sublist-icon-filter:none;--ifm-navbar-background-color:var(--ifm-background-surface-color);--ifm-navbar-height:3.75rem;--ifm-navbar-item-padding-horizontal:0.75rem;--ifm-navbar-item-padding-vertical:0.25rem;--ifm-navbar-link-color:var(--ifm-font-color-base);--ifm-navbar-link-active-color:var(--ifm-link-color);--ifm-navbar-padding-horizontal:var(--ifm-spacing-horizontal);--ifm-navbar-padding-vertical:calc(var(--ifm-spacing-vertical)*0.5);--ifm-navbar-shadow:var(--ifm-global-shadow-lw);--ifm-navbar-search-input-background-color:var(--ifm-color-emphasis-200);--ifm-navbar-search-input-color:var(--ifm-color-emphasis-800);--ifm-navbar-search-input-placeholder-color:var(--ifm-color-emphasis-500);--ifm-navbar-search-input-icon:url('data:image/svg+xml;utf8,');--ifm-navbar-sidebar-width:83vw;--ifm-pagination-border-radius:var(--ifm-global-radius);--ifm-pagination-color-active:var(--ifm-color-primary);--ifm-pagination-font-size:1rem;--ifm-pagination-item-active-background:var(--ifm-hover-overlay);--ifm-pagination-page-spacing:0.2em;--ifm-pagination-padding-horizontal:calc(var(--ifm-spacing-horizontal)*1);--ifm-pagination-padding-vertical:calc(var(--ifm-spacing-vertical)*0.25);--ifm-pagination-nav-border-radius:var(--ifm-global-radius);--ifm-pagination-nav-color-hover:var(--ifm-color-primary);--ifm-pills-color-active:var(--ifm-color-primary);--ifm-pills-color-background-active:var(--ifm-hover-overlay);--ifm-pills-spacing:0.125rem;--ifm-tabs-color:var(--ifm-font-color-secondary);--ifm-tabs-color-active:var(--ifm-color-primary);--ifm-tabs-color-active-border:var(--ifm-tabs-color-active);--ifm-tabs-padding-horizontal:1rem;--ifm-tabs-padding-vertical:1rem}.badge--danger,.badge--info,.badge--primary,.badge--secondary,.badge--success,.badge--warning{--ifm-badge-border-color:var(--ifm-badge-background-color)}.button--link,.button--outline{--ifm-button-background-color:#0000}html{background-color:var(--ifm-background-color);color:var(--ifm-font-color-base);color-scheme:var(--ifm-color-scheme);font:var(--ifm-font-size-base)/var(--ifm-line-height-base) var(--ifm-font-family-base);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;-webkit-text-size-adjust:100%;text-size-adjust:100%}iframe{border:0;color-scheme:auto}.container{margin:0 auto;max-width:var(--ifm-container-width)}.container--fluid{max-width:inherit}.row{display:flex;flex-wrap:wrap;margin:0 calc(var(--ifm-spacing-horizontal)*-1)}.margin-bottom--none,.margin-vert--none,.markdown>:last-child{margin-bottom:0!important}.margin-top--none,.margin-vert--none,.tabItem_LNqP{margin-top:0!important}.row--no-gutters{margin-left:0;margin-right:0}.margin-horiz--none,.margin-right--none{margin-right:0!important}.row--no-gutters>.col{padding-left:0;padding-right:0}.row--align-top{align-items:flex-start}.row--align-bottom{align-items:flex-end}.menuExternalLink_NmtK,.row--align-center{align-items:center}.row--align-stretch{align-items:stretch}.row--align-baseline{align-items:baseline}.col{--ifm-col-width:100%;flex:1 0;margin-left:0;max-width:var(--ifm-col-width)}.padding-bottom--none,.padding-vert--none{padding-bottom:0!important}.padding-top--none,.padding-vert--none{padding-top:0!important}.padding-horiz--none,.padding-left--none{padding-left:0!important}.padding-horiz--none,.padding-right--none{padding-right:0!important}.col[class*=col--]{flex:0 0 var(--ifm-col-width)}.col--1{--ifm-col-width:8.33333%}.col--offset-1{margin-left:8.33333%}.col--2{--ifm-col-width:16.66667%}.col--offset-2{margin-left:16.66667%}.col--3{--ifm-col-width:25%}.col--offset-3{margin-left:25%}.col--4{--ifm-col-width:33.33333%}.col--offset-4{margin-left:33.33333%}.col--5{--ifm-col-width:41.66667%}.col--offset-5{margin-left:41.66667%}.col--6{--ifm-col-width:50%}.col--offset-6{margin-left:50%}.col--7{--ifm-col-width:58.33333%}.col--offset-7{margin-left:58.33333%}.col--8{--ifm-col-width:66.66667%}.col--offset-8{margin-left:66.66667%}.col--9{--ifm-col-width:75%}.col--offset-9{margin-left:75%}.col--10{--ifm-col-width:83.33333%}.col--offset-10{margin-left:83.33333%}.col--11{--ifm-col-width:91.66667%}.col--offset-11{margin-left:91.66667%}.col--12{--ifm-col-width:100%}.col--offset-12{margin-left:100%}.margin-horiz--none,.margin-left--none{margin-left:0!important}.margin--none{margin:0!important}.margin-bottom--xs,.margin-vert--xs{margin-bottom:.25rem!important}.margin-top--xs,.margin-vert--xs{margin-top:.25rem!important}.margin-horiz--xs,.margin-left--xs{margin-left:.25rem!important}.margin-horiz--xs,.margin-right--xs{margin-right:.25rem!important}.margin--xs{margin:.25rem!important}.margin-bottom--sm,.margin-vert--sm{margin-bottom:.5rem!important}.margin-top--sm,.margin-vert--sm{margin-top:.5rem!important}.margin-horiz--sm,.margin-left--sm{margin-left:.5rem!important}.margin-horiz--sm,.margin-right--sm{margin-right:.5rem!important}.margin--sm{margin:.5rem!important}.margin-bottom--md,.margin-vert--md{margin-bottom:1rem!important}.margin-horiz--md,.margin-left--md{margin-left:1rem!important}.margin-horiz--md,.margin-right--md{margin-right:1rem!important}.margin--md{margin:1rem!important}.margin-vert--md{margin-top:1rem!important}.margin-bottom--lg,.margin-vert--lg{margin-bottom:2rem!important}.margin-top--lg,.margin-vert--lg{margin-top:2rem!important}.margin-horiz--lg,.margin-left--lg{margin-left:2rem!important}.margin-horiz--lg,.margin-right--lg{margin-right:2rem!important}.margin--lg{margin:2rem!important}.margin-bottom--xl,.margin-vert--xl{margin-bottom:5rem!important}.margin-top--xl,.margin-vert--xl{margin-top:5rem!important}.margin-horiz--xl,.margin-left--xl{margin-left:5rem!important}.margin-horiz--xl,.margin-right--xl{margin-right:5rem!important}.margin--xl{margin:5rem!important}.padding--none{padding:0!important}.padding-bottom--xs,.padding-vert--xs{padding-bottom:.25rem!important}.padding-top--xs,.padding-vert--xs{padding-top:.25rem!important}.padding-horiz--xs,.padding-left--xs{padding-left:.25rem!important}.padding-horiz--xs,.padding-right--xs{padding-right:.25rem!important}.padding--xs{padding:.25rem!important}.padding-bottom--sm,.padding-vert--sm{padding-bottom:.5rem!important}.padding-top--sm,.padding-vert--sm{padding-top:.5rem!important}.padding-horiz--sm,.padding-left--sm{padding-left:.5rem!important}.padding-horiz--sm,.padding-right--sm{padding-right:.5rem!important}.padding--sm{padding:.5rem!important}.padding-bottom--md,.padding-vert--md{padding-bottom:1rem!important}.padding-top--md,.padding-vert--md{padding-top:1rem!important}.padding-horiz--md,.padding-left--md{padding-left:1rem!important}.padding-horiz--md,.padding-right--md{padding-right:1rem!important}.padding--md{padding:1rem!important}.padding-bottom--lg,.padding-vert--lg{padding-bottom:2rem!important}.padding-top--lg,.padding-vert--lg{padding-top:2rem!important}.padding-horiz--lg,.padding-left--lg{padding-left:2rem!important}.padding-horiz--lg,.padding-right--lg{padding-right:2rem!important}.padding--lg{padding:2rem!important}.padding-bottom--xl,.padding-vert--xl{padding-bottom:5rem!important}.padding-top--xl,.padding-vert--xl{padding-top:5rem!important}.padding-horiz--xl,.padding-left--xl{padding-left:5rem!important}.padding-horiz--xl,.padding-right--xl{padding-right:5rem!important}.padding--xl{padding:5rem!important}code{background-color:var(--ifm-code-background);border:.1rem solid #0000001a;border-radius:var(--ifm-code-border-radius);font-family:var(--ifm-font-family-monospace);font-size:var(--ifm-code-font-size);padding:var(--ifm-code-padding-vertical) var(--ifm-code-padding-horizontal)}a code{color:inherit}pre{background-color:var(--ifm-pre-background);border-radius:var(--ifm-pre-border-radius);color:var(--ifm-pre-color);font:var(--ifm-code-font-size)/var(--ifm-pre-line-height) var(--ifm-font-family-monospace);padding:var(--ifm-pre-padding)}pre code{background-color:initial;border:none;font-size:100%;line-height:inherit;padding:0}kbd{background-color:var(--ifm-color-emphasis-0);border:1px solid var(--ifm-color-emphasis-400);border-radius:.2rem;box-shadow:inset 0 -1px 0 var(--ifm-color-emphasis-400);color:var(--ifm-color-emphasis-800);font:80% var(--ifm-font-family-monospace);padding:.15rem .3rem}h1,h2,h3,h4,h5,h6{color:var(--ifm-heading-color);font-family:var(--ifm-heading-font-family);font-weight:var(--ifm-heading-font-weight);line-height:var(--ifm-heading-line-height);margin:var(--ifm-heading-margin-top) 0 var(--ifm-heading-margin-bottom) 0}h1{font-size:var(--ifm-h1-font-size)}h2{font-size:var(--ifm-h2-font-size)}h3{font-size:var(--ifm-h3-font-size)}h4{font-size:var(--ifm-h4-font-size)}h5{font-size:var(--ifm-h5-font-size)}h6{font-size:var(--ifm-h6-font-size)}img{max-width:100%}img[align=right]{padding-left:var(--image-alignment-padding)}img[align=left]{padding-right:var(--image-alignment-padding)}.markdown{--ifm-h1-vertical-rhythm-top:3;--ifm-h2-vertical-rhythm-top:2;--ifm-h3-vertical-rhythm-top:1.5;--ifm-heading-vertical-rhythm-top:1.25;--ifm-h1-vertical-rhythm-bottom:1.25;--ifm-heading-vertical-rhythm-bottom:1}.markdown:after,.markdown:before{content:"";display:table}.markdown:after{clear:both}.markdown h1:first-child{--ifm-h1-font-size:3rem;margin-bottom:calc(var(--ifm-h1-vertical-rhythm-bottom)*var(--ifm-leading))}.markdown>h2{--ifm-h2-font-size:2rem;margin-top:calc(var(--ifm-h2-vertical-rhythm-top)*var(--ifm-leading));font-family:sans-serif;letter-spacing:-.9px}.markdown>h3{--ifm-h3-font-size:1.5rem;margin-top:calc(var(--ifm-h3-vertical-rhythm-top)*var(--ifm-leading))}.markdown>h4,.markdown>h5,.markdown>h6{margin-top:calc(var(--ifm-heading-vertical-rhythm-top)*var(--ifm-leading))}.markdown>p,.markdown>pre,.markdown>ul,.tabList__CuJ{margin-bottom:var(--ifm-leading)}.markdown li>p{margin-top:var(--ifm-list-paragraph-margin)}.markdown li+li{margin-top:var(--ifm-list-item-margin)}ol,ul{margin:0 0 var(--ifm-list-margin);padding-left:var(--ifm-list-left-padding)}ol ol,ul ol{list-style-type:lower-roman}ol ol ol,ol ul ol,ul ol ol,ul ul ol{list-style-type:lower-alpha}table{border-collapse:collapse;display:block;margin-bottom:var(--ifm-spacing-vertical)}table thead tr{border-bottom:2px solid var(--ifm-table-border-color)}table thead,table tr:nth-child(2n){background-color:var(--ifm-table-stripe-background)}table tr{background-color:var(--ifm-table-background);border-top:var(--ifm-table-border-width) solid var(--ifm-table-border-color)}table td,table th{border:var(--ifm-table-border-width) solid var(--ifm-table-border-color);padding:var(--ifm-table-cell-padding)}table th{background-color:var(--ifm-table-head-background);color:var(--ifm-table-head-color);font-weight:var(--ifm-table-head-font-weight)}table td{color:var(--ifm-table-cell-color)}strong{font-weight:var(--ifm-font-weight-bold)}a{color:var(--ifm-link-color);text-decoration:var(--ifm-link-decoration)}a:hover{color:var(--ifm-link-hover-color);text-decoration:var(--ifm-link-hover-decoration)}.button:hover,.text--no-decoration,.text--no-decoration:hover,a:not([href]){text-decoration:none}p{margin:0 0 var(--ifm-paragraph-margin-bottom)}blockquote{border-left:var(--ifm-blockquote-border-left-width) solid var(--ifm-blockquote-border-color);box-shadow:var(--ifm-blockquote-shadow);color:var(--ifm-blockquote-color);font-size:var(--ifm-blockquote-font-size);padding:var(--ifm-blockquote-padding-vertical) var(--ifm-blockquote-padding-horizontal)}blockquote>:first-child{margin-top:0}blockquote>:last-child{margin-bottom:0}hr{background-color:var(--ifm-hr-background-color);border:0;height:var(--ifm-hr-height);margin:var(--ifm-hr-margin-vertical) 0}.shadow--lw{box-shadow:var(--ifm-global-shadow-lw)!important}.shadow--md{box-shadow:var(--ifm-global-shadow-md)!important}.shadow--tl{box-shadow:var(--ifm-global-shadow-tl)!important}.text--primary,.wordWrapButtonEnabled_EoeP .wordWrapButtonIcon_Bwma{color:var(--ifm-color-primary)}.text--secondary{color:var(--ifm-color-secondary)}.text--success{color:var(--ifm-color-success)}.text--info{color:var(--ifm-color-info)}.text--warning{color:var(--ifm-color-warning)}.text--danger{color:var(--ifm-color-danger)}.text--center{text-align:center}.text--left{text-align:left}.text--justify{text-align:justify}.text--right{text-align:right}.text--capitalize{text-transform:capitalize}.text--lowercase{text-transform:lowercase}.admonitionHeading_Gvgb,.alert__heading,.text--uppercase{text-transform:uppercase}.text--light{font-weight:var(--ifm-font-weight-light)}.text--normal{font-weight:var(--ifm-font-weight-normal)}.text--semibold{font-weight:var(--ifm-font-weight-semibold)}.text--bold{font-weight:var(--ifm-font-weight-bold)}.text--italic{font-style:italic}.text--truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.text--break{word-wrap:break-word!important;word-break:break-word!important}.clean-btn{background:none;border:none;color:inherit;cursor:pointer;font-family:inherit;padding:0}.alert,.alert .close{color:var(--ifm-alert-foreground-color)}.clean-list{list-style:none;padding-left:0}.alert--primary{--ifm-alert-background-color:var(--ifm-color-primary-contrast-background);--ifm-alert-background-color-highlight:#3578e526;--ifm-alert-foreground-color:var(--ifm-color-primary-contrast-foreground);--ifm-alert-border-color:var(--ifm-color-primary-dark)}.alert--secondary{--ifm-alert-background-color:var(--ifm-color-secondary-contrast-background);--ifm-alert-background-color-highlight:#ebedf026;--ifm-alert-foreground-color:var(--ifm-color-secondary-contrast-foreground);--ifm-alert-border-color:var(--ifm-color-secondary-dark)}.alert--success{--ifm-alert-background-color:var(--ifm-color-success-contrast-background);--ifm-alert-background-color-highlight:#00a40026;--ifm-alert-foreground-color:var(--ifm-color-success-contrast-foreground);--ifm-alert-border-color:var(--ifm-color-success-dark)}.alert--info{--ifm-alert-background-color:var(--ifm-color-info-contrast-background);--ifm-alert-background-color-highlight:#54c7ec26;--ifm-alert-foreground-color:var(--ifm-color-info-contrast-foreground);--ifm-alert-border-color:var(--ifm-color-info-dark)}.alert--warning{--ifm-alert-background-color:var(--ifm-color-warning-contrast-background);--ifm-alert-background-color-highlight:#ffba0026;--ifm-alert-foreground-color:var(--ifm-color-warning-contrast-foreground);--ifm-alert-border-color:var(--ifm-color-warning-dark)}.alert--danger{--ifm-alert-background-color:var(--ifm-color-danger-contrast-background);--ifm-alert-background-color-highlight:#fa383e26;--ifm-alert-foreground-color:var(--ifm-color-danger-contrast-foreground);--ifm-alert-border-color:var(--ifm-color-danger-dark)}.alert{--ifm-code-background:var(--ifm-alert-background-color-highlight);--ifm-link-color:var(--ifm-alert-foreground-color);--ifm-link-hover-color:var(--ifm-alert-foreground-color);--ifm-link-decoration:underline;--ifm-tabs-color:var(--ifm-alert-foreground-color);--ifm-tabs-color-active:var(--ifm-alert-foreground-color);--ifm-tabs-color-active-border:var(--ifm-alert-border-color);background-color:var(--ifm-alert-background-color);border:var(--ifm-alert-border-width) solid var(--ifm-alert-border-color);border-left-width:var(--ifm-alert-border-left-width);border-radius:var(--ifm-alert-border-radius);box-shadow:var(--ifm-alert-shadow);padding:var(--ifm-alert-padding-vertical) var(--ifm-alert-padding-horizontal)}.alert__heading{align-items:center;display:flex;font:700 var(--ifm-h5-font-size)/var(--ifm-heading-line-height) var(--ifm-heading-font-family);margin-bottom:.5rem}.alert__icon{display:inline-flex;margin-right:.4em}.alert__icon svg{fill:var(--ifm-alert-foreground-color);stroke:var(--ifm-alert-foreground-color);stroke-width:0}.alert .close{margin:calc(var(--ifm-alert-padding-vertical)*-1) calc(var(--ifm-alert-padding-horizontal)*-1) 0 0;opacity:.75}.alert .close:focus,.alert .close:hover{opacity:1}.alert a{text-decoration-color:var(--ifm-alert-border-color)}.alert a:hover{text-decoration-thickness:2px}.avatar{column-gap:var(--ifm-avatar-intro-margin);display:flex}.avatar__photo{border-radius:50%;display:block;height:var(--ifm-avatar-photo-size);overflow:hidden;width:var(--ifm-avatar-photo-size)}.card--full-height,.navbar__logo img,body,html{height:100%}.avatar__photo--sm{--ifm-avatar-photo-size:2rem}.avatar__photo--lg{--ifm-avatar-photo-size:4rem}.avatar__photo--xl{--ifm-avatar-photo-size:6rem}.avatar__intro{display:flex;flex:1 1;flex-direction:column;justify-content:center;text-align:var(--ifm-avatar-intro-alignment)}.badge,.breadcrumbs__item,.breadcrumbs__link,.button,.dropdown>.navbar__link:after{display:inline-block}.avatar__name{font:700 var(--ifm-h4-font-size)/var(--ifm-heading-line-height) var(--ifm-font-family-base)}.avatar__subtitle{margin-top:.25rem}.avatar--vertical{--ifm-avatar-intro-alignment:center;--ifm-avatar-intro-margin:0.5rem;align-items:center;flex-direction:column}.badge{background-color:var(--ifm-badge-background-color);border:var(--ifm-badge-border-width) solid var(--ifm-badge-border-color);border-radius:var(--ifm-badge-border-radius);color:var(--ifm-badge-color);font-size:75%;font-weight:var(--ifm-font-weight-bold);line-height:1;padding:var(--ifm-badge-padding-vertical) var(--ifm-badge-padding-horizontal)}.badge--primary{--ifm-badge-background-color:var(--ifm-color-primary)}.badge--secondary{--ifm-badge-background-color:var(--ifm-color-secondary);color:var(--ifm-color-black)}.breadcrumbs__link,.button.button--secondary.button--outline:not(.button--active):not(:hover){color:var(--ifm-font-color-base)}.badge--success{--ifm-badge-background-color:var(--ifm-color-success)}.badge--info{--ifm-badge-background-color:var(--ifm-color-info)}.badge--warning{--ifm-badge-background-color:var(--ifm-color-warning)}.badge--danger{--ifm-badge-background-color:var(--ifm-color-danger)}.breadcrumbs{margin-bottom:0;padding-left:0}.breadcrumbs__item:not(:last-child):after{background:var(--ifm-breadcrumb-separator) center;content:" ";display:inline-block;filter:var(--ifm-breadcrumb-separator-filter);height:calc(var(--ifm-breadcrumb-separator-size)*var(--ifm-breadcrumb-size-multiplier)*var(--ifm-breadcrumb-separator-size-multiplier));margin:0 var(--ifm-breadcrumb-spacing);opacity:.5;width:calc(var(--ifm-breadcrumb-separator-size)*var(--ifm-breadcrumb-size-multiplier)*var(--ifm-breadcrumb-separator-size-multiplier))}.breadcrumbs__item--active .breadcrumbs__link{background:var(--ifm-breadcrumb-item-background-active);color:var(--ifm-breadcrumb-color-active)}.breadcrumbs__link{border-radius:var(--ifm-breadcrumb-border-radius);font-size:calc(1rem*var(--ifm-breadcrumb-size-multiplier));padding:calc(var(--ifm-breadcrumb-padding-vertical)*var(--ifm-breadcrumb-size-multiplier)) calc(var(--ifm-breadcrumb-padding-horizontal)*var(--ifm-breadcrumb-size-multiplier));transition-duration:var(--ifm-transition-fast);transition-property:background,color}.breadcrumbs__link:any-link:hover,.breadcrumbs__link:link:hover,.breadcrumbs__link:visited:hover,area[href].breadcrumbs__link:hover{background:var(--ifm-breadcrumb-item-background-active);text-decoration:none}.breadcrumbs--sm{--ifm-breadcrumb-size-multiplier:0.8}.breadcrumbs--lg{--ifm-breadcrumb-size-multiplier:1.2}.button{background-color:var(--ifm-button-background-color);border:var(--ifm-button-border-width) solid var(--ifm-button-border-color);border-radius:var(--ifm-button-border-radius);cursor:pointer;font-size:calc(.875rem*var(--ifm-button-size-multiplier));font-weight:var(--ifm-button-font-weight);line-height:1.5;padding:calc(var(--ifm-button-padding-vertical)*var(--ifm-button-size-multiplier)) calc(var(--ifm-button-padding-horizontal)*var(--ifm-button-size-multiplier));text-align:center;transition-duration:var(--ifm-button-transition-duration);transition-property:color,background,border-color;-webkit-user-select:none;user-select:none;white-space:nowrap}.button,.button:hover{color:var(--ifm-button-color)}.button--outline{--ifm-button-color:var(--ifm-button-border-color)}.button--outline:hover{--ifm-button-background-color:var(--ifm-button-border-color)}.button--link{--ifm-button-border-color:#0000;color:var(--ifm-link-color);text-decoration:var(--ifm-link-decoration)}.button--link.button--active,.button--link:active,.button--link:hover{color:var(--ifm-link-hover-color);text-decoration:var(--ifm-link-hover-decoration)}.button.disabled,.button:disabled,.button[disabled]{opacity:.65;pointer-events:none}.button--sm{--ifm-button-size-multiplier:0.8}.button--lg{--ifm-button-size-multiplier:1.35}.button--block{display:block;width:100%}.button.button--secondary{color:var(--ifm-color-gray-900)}:where(.button--primary){--ifm-button-background-color:var(--ifm-color-primary);--ifm-button-border-color:var(--ifm-color-primary)}:where(.button--primary):not(.button--outline):hover{--ifm-button-background-color:var(--ifm-color-primary-dark);--ifm-button-border-color:var(--ifm-color-primary-dark)}.button--primary.button--active,.button--primary:active{--ifm-button-background-color:var(--ifm-color-primary-darker);--ifm-button-border-color:var(--ifm-color-primary-darker)}:where(.button--secondary){--ifm-button-background-color:var(--ifm-color-secondary);--ifm-button-border-color:var(--ifm-color-secondary)}:where(.button--secondary):not(.button--outline):hover{--ifm-button-background-color:var(--ifm-color-secondary-dark);--ifm-button-border-color:var(--ifm-color-secondary-dark)}.button--secondary.button--active,.button--secondary:active{--ifm-button-background-color:var(--ifm-color-secondary-darker);--ifm-button-border-color:var(--ifm-color-secondary-darker)}:where(.button--success){--ifm-button-background-color:var(--ifm-color-success);--ifm-button-border-color:var(--ifm-color-success)}:where(.button--success):not(.button--outline):hover{--ifm-button-background-color:var(--ifm-color-success-dark);--ifm-button-border-color:var(--ifm-color-success-dark)}.button--success.button--active,.button--success:active{--ifm-button-background-color:var(--ifm-color-success-darker);--ifm-button-border-color:var(--ifm-color-success-darker)}:where(.button--info){--ifm-button-background-color:var(--ifm-color-info);--ifm-button-border-color:var(--ifm-color-info)}:where(.button--info):not(.button--outline):hover{--ifm-button-background-color:var(--ifm-color-info-dark);--ifm-button-border-color:var(--ifm-color-info-dark)}.button--info.button--active,.button--info:active{--ifm-button-background-color:var(--ifm-color-info-darker);--ifm-button-border-color:var(--ifm-color-info-darker)}:where(.button--warning){--ifm-button-background-color:var(--ifm-color-warning);--ifm-button-border-color:var(--ifm-color-warning)}:where(.button--warning):not(.button--outline):hover{--ifm-button-background-color:var(--ifm-color-warning-dark);--ifm-button-border-color:var(--ifm-color-warning-dark)}.button--warning.button--active,.button--warning:active{--ifm-button-background-color:var(--ifm-color-warning-darker);--ifm-button-border-color:var(--ifm-color-warning-darker)}:where(.button--danger){--ifm-button-background-color:var(--ifm-color-danger);--ifm-button-border-color:var(--ifm-color-danger)}:where(.button--danger):not(.button--outline):hover{--ifm-button-background-color:var(--ifm-color-danger-dark);--ifm-button-border-color:var(--ifm-color-danger-dark)}.button--danger.button--active,.button--danger:active{--ifm-button-background-color:var(--ifm-color-danger-darker);--ifm-button-border-color:var(--ifm-color-danger-darker)}.button-group{display:inline-flex;gap:var(--ifm-button-group-spacing)}.button-group>.button:not(:first-child){border-bottom-left-radius:0;border-top-left-radius:0}.button-group>.button:not(:last-child){border-bottom-right-radius:0;border-top-right-radius:0}.button-group--block{display:flex;justify-content:stretch}.button-group--block>.button{flex-grow:1}.card{background-color:var(--ifm-card-background-color);border-radius:var(--ifm-card-border-radius);box-shadow:var(--ifm-global-shadow-lw);display:flex;flex-direction:column;overflow:hidden}.card__image{padding-top:var(--ifm-card-vertical-spacing)}.card__image:first-child{padding-top:0}.card__body,.card__footer,.card__header{padding:var(--ifm-card-vertical-spacing) var(--ifm-card-horizontal-spacing)}.card__body:not(:last-child),.card__footer:not(:last-child),.card__header:not(:last-child){padding-bottom:0}.card__body>:last-child,.card__footer>:last-child,.card__header>:last-child{margin-bottom:0}.card__footer{margin-top:auto}.table-of-contents{font-size:.8rem;margin-bottom:0;padding:var(--ifm-toc-padding-vertical) 0}.table-of-contents,.table-of-contents ul{list-style:none;padding-left:var(--ifm-toc-padding-horizontal)}.table-of-contents li{margin:var(--ifm-toc-padding-vertical) var(--ifm-toc-padding-horizontal)}.table-of-contents__left-border{border-left:1px solid var(--ifm-toc-border-color)}.table-of-contents__link{color:var(--ifm-toc-link-color);display:block}.table-of-contents__link--active,.table-of-contents__link--active code,.table-of-contents__link:hover,.table-of-contents__link:hover code{color:var(--ifm-color-primary);text-decoration:none}.close{color:var(--ifm-color-black);float:right;font-size:1.5rem;font-weight:var(--ifm-font-weight-bold);line-height:1;opacity:.5;padding:1rem;transition:opacity var(--ifm-transition-fast) var(--ifm-transition-timing-default)}.close:hover{opacity:.7}.close:focus,.theme-code-block-highlighted-line .codeLineNumber_Tfdd:before{opacity:.8}.dropdown{display:inline-flex;font-weight:var(--ifm-dropdown-font-weight);position:relative;vertical-align:top}.dropdown--hoverable:hover .dropdown__menu,.dropdown--show .dropdown__menu{opacity:1;pointer-events:all;transform:translateY(-1px);visibility:visible}#nprogress,.dropdown__menu,.navbar__item.dropdown .navbar__link:not([href]),.start-page-main-no-pointer-events{pointer-events:none}.dropdown--right .dropdown__menu{left:inherit;right:0}.dropdown--nocaret .navbar__link:after{content:none!important}.dropdown__menu{background-color:var(--ifm-dropdown-background-color);border-radius:var(--ifm-global-radius);box-shadow:var(--ifm-global-shadow-md);left:0;list-style:none;max-height:80vh;min-width:10rem;opacity:0;overflow-y:auto;padding:.5rem;position:absolute;top:calc(100% - var(--ifm-navbar-item-padding-vertical) + .3rem);transform:translateY(-.625rem);transition-duration:var(--ifm-transition-fast);transition-property:opacity,transform,visibility;transition-timing-function:var(--ifm-transition-timing-default);visibility:hidden;z-index:var(--ifm-z-index-dropdown)}.menu__caret,.menu__link,.menu__list-item-collapsible{border-radius:.25rem;transition:background var(--ifm-transition-fast) var(--ifm-transition-timing-default)}.dropdown__link{border-radius:.25rem;color:var(--ifm-dropdown-link-color);display:block;font-size:.875rem;margin-top:.2rem;padding:.25rem .5rem;white-space:nowrap}.dropdown__link--active,.dropdown__link:hover{background-color:var(--ifm-dropdown-hover-background-color);color:var(--ifm-dropdown-link-color);text-decoration:none}.dropdown__link--active,.dropdown__link--active:hover{--ifm-dropdown-link-color:var(--ifm-link-color)}.dropdown>.navbar__link:after{border-color:currentcolor #0000;border-style:solid;border-width:.4em .4em 0;content:"";margin-left:.3em;position:relative;top:2px;transform:translateY(-50%)}.footer{background-color:var(--ifm-footer-background-color);color:var(--ifm-footer-color);padding:var(--ifm-footer-padding-vertical) var(--ifm-footer-padding-horizontal)}.footer--dark{--ifm-footer-background-color:#303846;--ifm-footer-color:var(--ifm-footer-link-color);--ifm-footer-link-color:var(--ifm-color-secondary);--ifm-footer-title-color:var(--ifm-color-white)}.footer__links{margin-bottom:1rem}.footer__link-item{color:var(--ifm-footer-link-color);line-height:2}.footer__link-item:hover{color:var(--ifm-footer-link-hover-color)}.footer__link-separator{margin:0 var(--ifm-footer-link-horizontal-spacing)}.footer__logo{margin-top:1rem;max-width:var(--ifm-footer-logo-max-width)}.footer__title{color:var(--ifm-footer-title-color);font:700 var(--ifm-h4-font-size)/var(--ifm-heading-line-height) var(--ifm-font-family-base);margin-bottom:var(--ifm-heading-margin-bottom)}.menu,.navbar__link{font-weight:var(--ifm-font-weight-semibold)}.docItemContainer_Djhp article>:first-child,.docItemContainer_Djhp header+*,.footer__item{margin-top:0}.admonitionContent_BuS1>:last-child,.collapsibleContent_i85q p:last-child,.details_lb9f>summary>p:last-child,.footer__items,.tabItem_Ymn6>:last-child{margin-bottom:0}.codeBlockStandalone_MEMb,[type=checkbox]{padding:0}.hero{align-items:center;background-color:var(--ifm-hero-background-color);color:var(--ifm-hero-text-color);display:flex;padding:4rem 2rem}.hero--primary{--ifm-hero-background-color:var(--ifm-color-primary);--ifm-hero-text-color:var(--ifm-font-color-base-inverse)}.hero--dark{--ifm-hero-background-color:#303846;--ifm-hero-text-color:var(--ifm-color-white)}.hero__title{font-size:3rem}.hero__subtitle{font-size:1.5rem}.menu__list{list-style:none;margin:0;padding-left:0}.menu__caret,.menu__link{padding:var(--ifm-menu-link-padding-vertical) var(--ifm-menu-link-padding-horizontal)}.menu__list .menu__list{flex:0 0 100%;margin-top:.25rem;padding-left:var(--ifm-menu-link-padding-horizontal)}.menu__list-item:not(:first-child){margin-top:.25rem}.menu__list-item--collapsed .menu__list{height:0;overflow:hidden}.details_lb9f[data-collapsed=false].isBrowser_bmU9>summary:before,.details_lb9f[open]:not(.isBrowser_bmU9)>summary:before,.menu__list-item--collapsed .menu__caret:before,.menu__list-item--collapsed .menu__link--sublist:after{transform:rotate(90deg)}.menu__list-item-collapsible{display:flex;flex-wrap:wrap;position:relative}.menu__caret:hover,.menu__link:hover,.menu__list-item-collapsible--active,.menu__list-item-collapsible:hover{background:var(--ifm-menu-color-background-hover)}.menu__list-item-collapsible .menu__link--active,.menu__list-item-collapsible .menu__link:hover{background:none!important}.menu__caret,.menu__link{align-items:center;display:flex}.navbar-sidebar,.navbar-sidebar__backdrop{bottom:0;opacity:0;transition-duration:var(--ifm-transition-fast);transition-timing-function:ease-in-out;top:0;left:0;visibility:hidden}.menu__link{color:var(--ifm-menu-color);flex:1;line-height:1.25}.menu__link:hover{color:var(--ifm-menu-color);text-decoration:none}.menu__caret:before,.menu__link--sublist-caret:after{filter:var(--ifm-menu-link-sublist-icon-filter);height:1.25rem;transform:rotate(180deg);transition:transform var(--ifm-transition-fast) linear;width:1.25rem;content:""}.menu__link--sublist-caret:after{background:var(--ifm-menu-link-sublist-icon) 50%/2rem 2rem;margin-left:auto;min-width:1.25rem}.menu__link--active,.menu__link--active:hover{color:var(--ifm-menu-color-active)}.navbar__brand,.navbar__link{color:var(--ifm-navbar-link-color)}.menu__link--active:not(.menu__link--sublist){background-color:var(--ifm-menu-color-background-active)}.menu__caret:before{background:var(--ifm-menu-link-sublist-icon) 50%/2rem 2rem}.navbar--dark,html[data-theme=dark]{--ifm-menu-link-sublist-icon-filter:invert(100%) sepia(94%) saturate(17%) hue-rotate(223deg) brightness(104%) contrast(98%)}.navbar{background-color:var(--ifm-navbar-background-color);box-shadow:var(--ifm-navbar-shadow);height:var(--ifm-navbar-height);padding:var(--ifm-navbar-padding-vertical) var(--ifm-navbar-padding-horizontal)}#speech-right-panel,.navbar,.navbar>.container,.navbar>.container-fluid,.playground-information-modal-item{display:flex}.navbar--fixed-top{position:sticky;top:0;z-index:var(--ifm-z-index-fixed)}.navbar__inner{display:flex;flex-wrap:wrap;justify-content:space-between;width:100%}.navbar__brand{align-items:center;display:flex;margin-right:1rem;min-width:0}.navbar__brand:hover{color:var(--ifm-navbar-link-hover-color);text-decoration:none}.announcementBarContent_xLdY,.navbar__title{flex:1 1 auto}.navbar__toggle{display:none;margin-right:.5rem}.navbar__logo{flex:0 0 auto;height:2rem;margin-right:.5rem}.navbar__items{align-items:center;display:flex;flex:1;min-width:0}.navbar__items--center{flex:0 0 auto}.navbar__items--center .navbar__brand{margin:0}.navbar__items--center+.navbar__items--right{flex:1}.navbar__items--right{flex:0 0 auto;justify-content:flex-end}.navbar__items--right>:last-child{padding-right:0}.navbar__item{display:inline-block;padding:var(--ifm-navbar-item-padding-vertical) var(--ifm-navbar-item-padding-horizontal)}.navbar__link--active,.navbar__link:hover{color:var(--ifm-navbar-link-hover-color);text-decoration:none}.navbar--dark,.navbar--primary{--ifm-menu-color:var(--ifm-color-gray-300);--ifm-navbar-link-color:var(--ifm-color-gray-100);--ifm-navbar-search-input-background-color:#ffffff1a;--ifm-navbar-search-input-placeholder-color:#ffffff80;color:var(--ifm-color-white)}.navbar--dark{--ifm-navbar-background-color:#242526;--ifm-menu-color-background-active:#ffffff0d;--ifm-navbar-search-input-color:var(--ifm-color-white)}.navbar--primary{--ifm-navbar-background-color:var(--ifm-color-primary);--ifm-navbar-link-hover-color:var(--ifm-color-white);--ifm-menu-color-active:var(--ifm-color-white);--ifm-navbar-search-input-color:var(--ifm-color-emphasis-500)}.navbar__search-input{appearance:none;background:var(--ifm-navbar-search-input-background-color) var(--ifm-navbar-search-input-icon) no-repeat .75rem center/1rem 1rem;border:none;border-radius:2rem;color:var(--ifm-navbar-search-input-color);cursor:text;display:inline-block;font-size:.9rem;height:2rem;padding:0 .5rem 0 2.25rem;width:12.5rem}.navbar__search-input::placeholder{color:var(--ifm-navbar-search-input-placeholder-color)}.navbar-sidebar{background-color:var(--ifm-navbar-background-color);box-shadow:var(--ifm-global-shadow-md);position:fixed;transform:translate3d(-100%,0,0);transition-property:opacity,visibility,transform;width:var(--ifm-navbar-sidebar-width)}.navbar-sidebar--show .navbar-sidebar,.navbar-sidebar__items{transform:translateZ(0)}.navbar-sidebar--show .navbar-sidebar,.navbar-sidebar--show .navbar-sidebar__backdrop{opacity:1;visibility:visible}.navbar-sidebar__backdrop{background-color:#0009;position:fixed;right:0;transition-property:opacity,visibility}.navbar-sidebar__brand{align-items:center;box-shadow:var(--ifm-navbar-shadow);display:flex;flex:1;height:var(--ifm-navbar-height);padding:var(--ifm-navbar-padding-vertical) var(--ifm-navbar-padding-horizontal)}.navbar-sidebar__items{display:flex;height:calc(100% - var(--ifm-navbar-height));transition:transform var(--ifm-transition-fast) ease-in-out}.navbar-sidebar__items--show-secondary{transform:translate3d(calc((var(--ifm-navbar-sidebar-width))*-1),0,0)}.navbar-sidebar__item{flex-shrink:0;padding:.5rem;width:calc(var(--ifm-navbar-sidebar-width))}.navbar-sidebar__back{background:var(--ifm-menu-color-background-active);font-size:15px;font-weight:var(--ifm-button-font-weight);margin:0 0 .2rem -.5rem;padding:.6rem 1.5rem;position:relative;text-align:left;top:-.5rem;width:calc(100% + 1rem)}.navbar-sidebar__close{display:flex;margin-left:auto}.pagination{column-gap:var(--ifm-pagination-page-spacing);display:flex;font-size:var(--ifm-pagination-font-size);padding-left:0}.pagination--sm{--ifm-pagination-font-size:0.8rem;--ifm-pagination-padding-horizontal:0.8rem;--ifm-pagination-padding-vertical:0.2rem}.pagination--lg{--ifm-pagination-font-size:1.2rem;--ifm-pagination-padding-horizontal:1.2rem;--ifm-pagination-padding-vertical:0.3rem}.pagination__item{display:inline-flex}.pagination__item>span{padding:var(--ifm-pagination-padding-vertical)}.pagination__item--active .pagination__link{color:var(--ifm-pagination-color-active)}.pagination__item--active .pagination__link,.pagination__item:not(.pagination__item--active):hover .pagination__link{background:var(--ifm-pagination-item-active-background)}.pagination__item--disabled,.pagination__item[disabled]{opacity:.25;pointer-events:none}.pagination__link{border-radius:var(--ifm-pagination-border-radius);color:var(--ifm-font-color-base);display:inline-block;padding:var(--ifm-pagination-padding-vertical) var(--ifm-pagination-padding-horizontal);transition:background var(--ifm-transition-fast) var(--ifm-transition-timing-default)}.pagination__link:hover{text-decoration:none}.pagination-nav{display:grid;grid-gap:var(--ifm-spacing-horizontal);gap:var(--ifm-spacing-horizontal);grid-template-columns:repeat(2,1fr)}.pagination-nav__link{border:1px solid var(--ifm-color-emphasis-300);border-radius:var(--ifm-pagination-nav-border-radius);display:block;height:100%;line-height:var(--ifm-heading-line-height);padding:var(--ifm-global-spacing);transition:border-color var(--ifm-transition-fast) var(--ifm-transition-timing-default)}.pagination-nav__link:hover{border-color:var(--ifm-pagination-nav-color-hover);text-decoration:none}.pagination-nav__link--next{grid-column:2/3;text-align:right}.pagination-nav__label{font-size:var(--ifm-h4-font-size);font-weight:var(--ifm-heading-font-weight);word-break:break-word}.pagination-nav__link--prev .pagination-nav__label:before{content:"« "}.pagination-nav__link--next .pagination-nav__label:after{content:" »"}.pagination-nav__sublabel{color:var(--ifm-color-content-secondary);font-size:var(--ifm-h5-font-size);font-weight:var(--ifm-font-weight-semibold);margin-bottom:.25rem}.pills__item,.tabs{font-weight:var(--ifm-font-weight-bold)}.pills{display:flex;gap:var(--ifm-pills-spacing);padding-left:0}.pills__item{border-radius:.5rem;cursor:pointer;display:inline-block;padding:.25rem 1rem;transition:background var(--ifm-transition-fast) var(--ifm-transition-timing-default)}#start-page-connect-to-custom-navigation.start-page-main-details-visible,#start-page-connect-to-popular-navigation-left.start-page-main-details-visible,#start-page-web-model-navigation.start-page-main-details-visible,.tabs,:not(.containsTaskList_mC6p>li)>.containsTaskList_mC6p{padding-left:0}.pills__item--active{color:var(--ifm-pills-color-active)}.pills__item--active,.pills__item:not(.pills__item--active):hover{background:var(--ifm-pills-color-background-active)}.pills--block{justify-content:stretch}.pills--block .pills__item{flex-grow:1;text-align:center}.tabs{color:var(--ifm-tabs-color);display:flex;margin-bottom:0;overflow-x:auto}#playground-information-modal-title,.code-toggle{font-weight:600}.tabs__item{border-bottom:3px solid #0000;border-radius:var(--ifm-global-radius);cursor:pointer;display:inline-flex;padding:var(--ifm-tabs-padding-vertical) var(--ifm-tabs-padding-horizontal);transition:background-color var(--ifm-transition-fast) var(--ifm-transition-timing-default)}.tabs__item--active{border-bottom-color:var(--ifm-tabs-color-active-border);border-bottom-left-radius:0;border-bottom-right-radius:0;color:var(--ifm-tabs-color-active)}.tabs__item:hover{background-color:var(--ifm-hover-overlay)}.tabs--block{justify-content:stretch}.tabs--block .tabs__item{flex-grow:1;justify-content:center}html[data-theme=dark]{--ifm-color-scheme:dark;--ifm-color-emphasis-0:var(--ifm-color-gray-1000);--ifm-color-emphasis-100:var(--ifm-color-gray-900);--ifm-color-emphasis-200:var(--ifm-color-gray-800);--ifm-color-emphasis-300:var(--ifm-color-gray-700);--ifm-color-emphasis-400:var(--ifm-color-gray-600);--ifm-color-emphasis-600:var(--ifm-color-gray-400);--ifm-color-emphasis-700:var(--ifm-color-gray-300);--ifm-color-emphasis-800:var(--ifm-color-gray-200);--ifm-color-emphasis-900:var(--ifm-color-gray-100);--ifm-color-emphasis-1000:var(--ifm-color-gray-0);--ifm-background-color:#1b1b1d;--ifm-background-surface-color:#242526;--ifm-hover-overlay:#ffffff0d;--ifm-color-content:#e3e3e3;--ifm-color-content-secondary:#fff;--ifm-breadcrumb-separator-filter:invert(64%) sepia(11%) saturate(0%) hue-rotate(149deg) brightness(99%) contrast(95%);--ifm-code-background:#ffffff1a;--ifm-scrollbar-track-background-color:#444;--ifm-scrollbar-thumb-background-color:#686868;--ifm-scrollbar-thumb-hover-background-color:#7a7a7a;--ifm-table-stripe-background:#ffffff12;--ifm-toc-border-color:var(--ifm-color-emphasis-200);--ifm-color-primary-contrast-background:#102445;--ifm-color-primary-contrast-foreground:#ebf2fc;--ifm-color-secondary-contrast-background:#474748;--ifm-color-secondary-contrast-foreground:#fdfdfe;--ifm-color-success-contrast-background:#003100;--ifm-color-success-contrast-foreground:#e6f6e6;--ifm-color-info-contrast-background:#193c47;--ifm-color-info-contrast-foreground:#eef9fd;--ifm-color-warning-contrast-background:#4d3800;--ifm-color-warning-contrast-foreground:#fff8e6;--ifm-color-danger-contrast-background:#4b1113;--ifm-color-danger-contrast-foreground:#ffebec;--docsearch-text-color:#f5f6f7;--docsearch-container-background:#090a11cc;--docsearch-modal-background:#15172a;--docsearch-modal-shadow:inset 1px 1px 0 0 #2c2e40,0 3px 8px 0 #000309;--docsearch-searchbox-background:#090a11;--docsearch-searchbox-focus-background:#000;--docsearch-hit-color:#bec3c9;--docsearch-hit-shadow:none;--docsearch-hit-background:#090a11;--docsearch-key-gradient:linear-gradient(-26.5deg,#565872,#31355b);--docsearch-key-shadow:inset 0 -2px 0 0 #282d55,inset 0 0 1px 1px #51577d,0 2px 2px 0 #0304094d;--docsearch-key-pressed-shadow:inset 0 -2px 0 0 #282d55,inset 0 0 1px 1px #51577d,0 1px 1px 0 rgba(3,4,9,.302);--docsearch-footer-background:#1e2136;--docsearch-footer-shadow:inset 0 1px 0 0 #494c6a80,0 -4px 8px 0 #0003;--docsearch-logo-color:#fff;--docsearch-muted-color:#7f8497}:root{--docusaurus-progress-bar-color:var(--ifm-color-primary);--ifm-table-container-background-color:#fff;--ifm-table-container-border:0.5px solid #eee;--ifm-table-container-border-top:1px solid #eee;--ifm-color-primary:#0d5297;--ifm-link-color:#114674;--ifm-color-primary-dark:#29784c;--ifm-color-primary-darker:#277148;--ifm-color-primary-darkest:#205d3b;--ifm-color-primary-light:#33925d;--ifm-color-primary-lighter:#359962;--ifm-color-primary-lightest:#3cad6e;--ifm-code-font-size:95%;--docusaurus-highlighted-code-line-bg:#0000001a;--text-code-background-color:#f0f0f0;--text-code-border-color:#f0f0f0;--code-background:#fbfbfb;--footer-text-color:#4f4f4f;--code-plain-color:#144367;--code-function-color:#0060c0;--code-tag-color:#004b9b;--code-punctuation-color:#393a34;--code-attr-name-color:#0076d0;--code-attr-value-color:#053466;--navbar-title-color:#003064;--menu-link-color-active:#00448d;--navbar-link-color-active:#034184;--tabs-item-color:#004c9c;--tabs-item-bottom-color:#005ca3;--table-of-contents-color:#0058b7;--breadcrumbs-item-color-active:#004a98;--homepage-background:linear-gradient(90deg,#eff2f7,7.60286%,#edf0f9 15.2057%,20.7513%,#ebeff8 26.297%,27.6386%,#ebeff8 28.9803%,38.2826%,#e7edf9 47.585%,48.1216%,#e6ecfa 48.6583%,53.1306%,#e4ecf9 57.6029%,61.5385%,#e3eafa 65.4741%,68.7835%,#deeafa 72.093%,75.7603%,#dbe6f8 79.4275%,82.8265%,#d8e5f8 86.2254%,87.8354%,#d5e4f9 89.4454%,91.8605%,#d2e2f9 94.2755%,95.4383%,#d1e1f8 96.6011%,98.3005%,#d0e0f7);--media-background-color:#eff6ff;--homepage-header-color:#003064;--start-header-color:#002e61;--start-text-color-hover:#0d5297;--start-text-code-color:#154b7a;--start-text-back-option-color:#2c2c2c;--start-text-slider-color:#003372;--speech-gradient-start-color:#fff;--speech-gradient-end-color:#dceeff;--adaptive-logo-filter:unset;--explore-background-color-default:#3e79c0;--explore-background-color-hover:#336baf;--explore-background-color-click:#295e9f;--playground-background:#fff;--playground-wrapper-text-input-color:#1c1e21;--playground-wrapper-drag-filter:brightness(0) saturate(100%) invert(27%) sepia(0%) saturate(1%) hue-rotate(169deg) brightness(97%) contrast(97%);--playground-wrapper-drag-filter-hover:brightness(0) saturate(100%) invert(11%) sepia(0%) saturate(592%) hue-rotate(309deg) brightness(98%) contrast(94%);--playground-wrapper-remove-filter:brightness(0) saturate(100%) invert(49%) sepia(1%) saturate(100%) hue-rotate(34deg) brightness(99%) contrast(91%);--playground-wrapper-button-filter:brightness(0) saturate(100%) invert(46%) sepia(0%) saturate(308%) hue-rotate(283deg) brightness(96%) contrast(93%);--playground-wrapper-button-filter-hover:brightness(0) saturate(100%) invert(11%) sepia(0%) saturate(592%) hue-rotate(309deg) brightness(98%) contrast(94%);--playground-wrapper-button-filter-active:brightness(0) saturate(100%) invert(0%) sepia(97%) saturate(7488%) hue-rotate(150deg) brightness(95%) contrast(103%);--playground-add-background:#fff;--playground-add-background-hover:#fafafa;--playground-add-filter:brightness(0) saturate(100%) invert(65%) sepia(1%) saturate(0%) hue-rotate(338deg) brightness(92%) contrast(91%);--playground-add-filter-hover:brightness(0) saturate(100%) invert(65%) sepia(1%) saturate(0%) hue-rotate(338deg) brightness(92%) contrast(91%);--playground-header-button-filter:brightness(0) saturate(100%) invert(66%) sepia(0%) saturate(0%) hue-rotate(37deg) brightness(94%) contrast(94%);--playground-header-button-filter-hover:brightness(0) saturate(100%) invert(14%) sepia(0%) saturate(1246%) hue-rotate(284deg) brightness(102%) contrast(97%);--playground-information-filter:brightness(0) saturate(100%) invert(72%) sepia(0%) saturate(962%) hue-rotate(52deg) brightness(99%) contrast(96%);--playground-information-filter-hover:brightness(0) saturate(100%) invert(14%) sepia(0%) saturate(1246%) hue-rotate(284deg) brightness(102%) contrast(97%);--playground-modal-fade-in-background:hsla(0,0%,50%,.438);--playground-modal-fade-in-background-out:#80808000;--playground-chat-list-scrollbar-background:#f7f7f7;--playground-chat-list-scrollbar-thumb-background:#d0d0d0;--playground-modal-scrollbar-background:#ebebeb;--playground-modal-background:#fff;--playground-modal-border:1px solid silver;--playground-modal-title-color:#002e61;--playground-modal-label-color:#04345c;--playground-modal-collapsible-title-color:#000f1f;--playground-modal-collapsible-title-border:1px solid #ebebeb;--playground-service-input-color:#333;--playground-service-input-background:#fff;--playground-service-input-border:1px solid grey;--playground-modal-close-background:#fcfcfc;--playground-modal-close-background-hover:#f4f4f4;--playground-modal-close-background-active:#ececec;--playground-modal-close-border:1px solid grey;--playground-modal-submit-background:#fcfcfc;--playground-modal-submit-background-hover:#f5f8fa;--playground-modal-submit-background-active:#eaf3ff;--playground-modal-submit-color:#003a6b;--playground-modal-submit-border:1px solid #003a6b;--playground-modal-code-background:#f6f7f8;--playground-modal-code-color:"";--playground-modal-visibility-filter-hover:brightness(0) saturate(100%) invert(41%) sepia(0%) saturate(275%) hue-rotate(155deg) brightness(97%) contrast(91%);--playground-modal-openai-filter:brightness(0) saturate(100%) invert(16%) sepia(0%) saturate(575%) hue-rotate(163deg) brightness(100%) contrast(93%);--playground-header-modal-text-color:#3a3a3a;--playground-information-modal-filter:brightness(0) saturate(100%) invert(42%) sepia(0%) saturate(844%) hue-rotate(69deg) brightness(96%) contrast(91%);--ifm-code-font-size:87%;--docusaurus-tag-list-border:var(--ifm-color-emphasis-300);--docsearch-primary-color:#5468ff;--docsearch-text-color:#1c1e21;--docsearch-spacing:12px;--docsearch-icon-stroke-width:1.4;--docsearch-highlight-color:var(--docsearch-primary-color);--docsearch-muted-color:#969faf;--docsearch-container-background:#656c85cc;--docsearch-logo-color:#5468ff;--docsearch-modal-width:560px;--docsearch-modal-height:600px;--docsearch-modal-background:#f5f6f7;--docsearch-modal-shadow:inset 1px 1px 0 0 #ffffff80,0 3px 8px 0 #555a64;--docsearch-searchbox-height:56px;--docsearch-searchbox-background:#ebedf0;--docsearch-searchbox-focus-background:#fff;--docsearch-searchbox-shadow:inset 0 0 0 2px var(--docsearch-primary-color);--docsearch-hit-height:56px;--docsearch-hit-color:#444950;--docsearch-hit-active-color:#fff;--docsearch-hit-background:#fff;--docsearch-hit-shadow:0 1px 3px 0 #d4d9e1;--docsearch-key-gradient:linear-gradient(-225deg,#d5dbe4,#f8f8f8);--docsearch-key-shadow:inset 0 -2px 0 0 #cdcde6,inset 0 0 1px 1px #fff,0 1px 2px 1px #1e235a66;--docsearch-key-pressed-shadow:inset 0 -2px 0 0 #cdcde6,inset 0 0 1px 1px #fff,0 1px 1px 0 #1e235a66;--docsearch-footer-height:44px;--docsearch-footer-background:#fff;--docsearch-footer-shadow:0 -1px 0 0 #e0e3e8,0 -3px 6px 0 #45629b1f;--docsearch-primary-color:var(--ifm-color-primary);--docsearch-text-color:var(--ifm-font-color-base);--docusaurus-announcement-bar-height:auto;--docusaurus-collapse-button-bg:#0000;--docusaurus-collapse-button-bg-hover:#0000001a;--doc-sidebar-width:300px;--doc-sidebar-hidden-width:30px}#nprogress .bar{background:var(--docusaurus-progress-bar-color);height:2px;left:0;position:fixed;top:0;width:100%;z-index:1031}#nprogress .peg{box-shadow:0 0 10px var(--docusaurus-progress-bar-color),0 0 5px var(--docusaurus-progress-bar-color);height:100%;opacity:1;position:absolute;right:0;transform:rotate(3deg) translateY(-4px);width:100px}[data-theme=dark]{--ifm-table-container-background-color:#282a36;--ifm-table-container-border-top:1px solid #282a36;--ifm-table-container-border:unset;--ifm-color-primary:#5da9f6;--ifm-link-color:#2097ff;--ifm-color-primary-dark:#21af90;--ifm-color-primary-darker:#1fa588;--ifm-color-primary-darkest:#1a8870;--ifm-color-primary-light:#29d5b0;--ifm-color-primary-lighter:#32d8b4;--ifm-color-primary-lightest:#4fddbf;--docusaurus-highlighted-code-line-bg:#0000004d;--text-code-border-color:#282a36;--text-code-background-color:#3c3c3c;--code-background:#282a36;--footer-text-color:#fff;--code-plain-color:#fff;--code-function-color:#fff;--code-tag-color:#fff;--code-punctuation-color:#fff;--code-attr-name-color:#fff;--code-attr-value-color:#fff;--navbar-title-color:#fff;--menu-link-color-active:#0980ff;--navbar-link-color-active:#2487d3;--tabs-item-color:#53a1f4;--tabs-item-bottom-color:#108be9;--table-of-contents-color:#298bf4;--breadcrumbs-item-color-active:#1888ff;--media-background-color:#232323;--homepage-background:#232323;--homepage-header-color:#fff;--start-header-color:#fff;--start-text-color-hover:#5da9f6;--start-text-code-color:#5da9f6;--start-text-back-option-color:#fff;--start-text-slider-color:#fff;--speech-gradient-start-color:#39393900;--speech-gradient-end-color:#272727;--adaptive-logo-filter:brightness(0) saturate(100%) invert(100%) sepia(0%) saturate(7500%) hue-rotate(37deg) brightness(108%) contrast(108%);--explore-background-color-default:#5d5d5d;--explore-background-color-hover:#525252;--explore-background-color-click:#4a4a4a;--playground-background:#1f1f1f;--playground-wrapper-text-input-color:#eee;--playground-wrapper-drag-filter:brightness(0) saturate(100%) invert(69%) sepia(85%) saturate(0%) hue-rotate(125deg) brightness(97%) contrast(96%);--playground-wrapper-drag-filter-hover:brightness(0) saturate(100%) invert(73%) sepia(67%) saturate(0%) hue-rotate(180deg) brightness(101%) contrast(92%);--playground-wrapper-remove-filter:brightness(0) saturate(100%) invert(69%) sepia(85%) saturate(0%) hue-rotate(125deg) brightness(97%) contrast(96%);--playground-wrapper-button-filter:brightness(0) saturate(100%) invert(69%) sepia(85%) saturate(0%) hue-rotate(125deg) brightness(97%) contrast(96%);--playground-wrapper-button-filter-hover:brightness(0) saturate(100%) invert(98%) sepia(0%) saturate(2259%) hue-rotate(262deg) brightness(108%) contrast(89%);--playground-wrapper-button-filter-active:brightness(0) saturate(100%) invert(100%) sepia(8%) saturate(358%) hue-rotate(250deg) brightness(112%) contrast(100%);--playground-add-background:#424242;--playground-add-background-hover:#4a4a4a;--playground-add-filter:brightness(0) saturate(100%) invert(72%) sepia(8%) saturate(2%) hue-rotate(83deg) brightness(100%) contrast(101%);--playground-add-filter-hover:brightness(0) saturate(100%) invert(80%) sepia(1%) saturate(4%) hue-rotate(261deg) brightness(92%) contrast(95%);--playground-header-button-filter:brightness(0) saturate(100%) invert(65%) sepia(56%) saturate(0%) hue-rotate(126deg) brightness(102%) contrast(94%);--playground-header-button-filter-hover:brightness(0) saturate(100%) invert(81%) sepia(0%) saturate(128%) hue-rotate(321deg) brightness(108%) contrast(100%);--playground-information-filter:brightness(0) saturate(100%) invert(69%) sepia(0%) saturate(6636%) hue-rotate(208deg) brightness(99%) contrast(93%);--playground-information-filter-hover:brightness(0) saturate(100%) invert(81%) sepia(0%) saturate(128%) hue-rotate(321deg) brightness(108%) contrast(100%);--playground-modal-fade-in-background:#1f1f1fa8;--playground-modal-fade-in-background-out:#1f1f1f00;--playground-chat-list-scrollbar-background:#303030;--playground-chat-list-scrollbar-thumb-background:grey;--playground-modal-scrollbar-background:#525252;--playground-modal-background:#474747;--playground-modal-border:1px solid #434343;--playground-modal-title-color:#dbdbdb;--playground-modal-label-color:#ececec;--playground-modal-collapsible-title-color:#fff;--playground-modal-collapsible-title-border:1px solid #a0a0a0;--playground-service-input-color:#f1f1f1;--playground-service-input-background:#3b3b3b;--playground-service-input-border:1px solid #6d6d6d;--playground-modal-close-background:#5e5e5e;--playground-modal-close-background-hover:#626262;--playground-modal-close-background-active:#595959;--playground-modal-close-border:1px solid #525252;--playground-modal-submit-background:#656565;--playground-modal-submit-background-hover:#6d6d6d;--playground-modal-submit-background-active:#646464;--playground-modal-submit-color:#fff;--playground-modal-submit-border:1px solid #454545;--playground-modal-code-background:#3c3c3c;--playground-modal-code-color:#fff;--playground-modal-visibility-filter-hover:brightness(0) saturate(100%) invert(82%) sepia(46%) saturate(1%) hue-rotate(297deg) brightness(101%) contrast(101%);--playground-modal-openai-filter:brightness(0) saturate(100%) invert(100%) sepia(2%) saturate(2286%) hue-rotate(212deg) brightness(112%) contrast(85%);--playground-header-modal-text-color:#fff;--playground-information-modal-filter:brightness(0) saturate(100%) invert(100%) sepia(2%) saturate(2286%) hue-rotate(212deg) brightness(112%) contrast(85%)}.markdown>h1{font-family:sans-serif;font-size:2.95rem;margin-top:2px}img+h2{font-size:2rem!important}.theme-doc-sidebar-container{border-right:unset!important}.menu__link{border-radius:5px!important;font-family:Helvetica Neue,Helvetica,Arial,sans-serif;letter-spacing:.4px}.menu__list{width:210px!important}.menu__link:hover{background-color:#6161610d}.menu__link--active{background-color:#6161610d!important;color:var(--menu-link-color-active)!important}.navbar__link--active{color:var(--navbar-link-color-active)!important}.tabs__item--active{border-bottom-color:var(--tabs-item-bottom-color)!important;color:var(--tabs-item-color)!important}.table-of-contents__link--active,.table-of-contents__link--active code{color:var(--table-of-contents-color)!important}.table-of-contents__link--active:hover,.table-of-contents__link:hover,.table-of-contents__link:hover code{color:#006bde!important}.breadcrumbs__item--active .breadcrumbs__link{color:var(--breadcrumbs-item-color-active)!important}.navbar__link--active:hover{color:var(--ifm-color-primary)!important}.table-of-contents{border-left:unset}.menu{padding-left:10px!important;padding-right:10px!important;width:-moz-fit-content!important;width:fit-content!important}code{background-color:var(--text-code-background-color);border:1px solid var(--text-code-border-color)!important;padding:1.5px 4px}.tabs{background-color:var(--ifm-table-container-background-color);border:var(--ifm-table-container-border);border-bottom:unset;border-top:var(--ifm-table-container-border-top);box-shadow:0 1px 2px 0 #0000001a}.margin-top--md{border-top:1px solid #dadde1;margin-top:0!important}.codeBlockTitle_Ktv7+.codeBlockContent_biex .codeBlock_bY9V,.margin-top--md .language-text,.margin-top--md code{border-top-left-radius:0;border-top-right-radius:0}.documentation-video{width:80%}.documentation-example-container{border:unset;display:flex;justify-content:center;padding:18px 18px 35px;width:100%}.method-example-container{display:block;justify-content:left}.documentation-button{background-color:#3b8ddf;border:unset;border-radius:5px;color:#fff;cursor:pointer;font-size:15px;margin-bottom:10px;padding:10px;transition:.1s;-webkit-user-select:none;user-select:none}.documentation-button:hover{background-color:#4b99e7}.documentation-button:active{background-color:#3f90e0}.component-key-toggle-button-container{display:flex;justify-content:center;margin-bottom:26px}.component-key-toggle-button{font-size:16px;padding:9px}.prism-code{background-color:var(--code-background);border-top-left-radius:0;border-top-right-radius:0}.navbar__title{color:var(--navbar-title-color);font-family:ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,Noto Sans,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;font-size:19.5px;letter-spacing:-.2px;margin-top:-1.2px}.navbar__logo{margin-top:.5px;width:23px}.navbar--fixed-top{box-shadow:unset}.header-github-link:hover{opacity:.6}.header-github-link:before{background:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 .297c-6.63 0-12 5.373-12 12 0 5.303 3.438 9.8 8.205 11.385.6.113.82-.258.82-.577 0-.285-.01-1.04-.015-2.04-3.338.724-4.042-1.61-4.042-1.61C4.422 18.07 3.633 17.7 3.633 17.7c-1.087-.744.084-.729.084-.729 1.205.084 1.838 1.236 1.838 1.236 1.07 1.835 2.809 1.305 3.495.998.108-.776.417-1.305.76-1.605-2.665-.3-5.466-1.332-5.466-5.93 0-1.31.465-2.38 1.235-3.22-.135-.303-.54-1.523.105-3.176 0 0 1.005-.322 3.3 1.23.96-.267 1.98-.399 3-.405 1.02.006 2.04.138 3 .405 2.28-1.552 3.285-1.23 3.285-1.23.645 1.653.24 2.873.12 3.176.765.84 1.23 1.91 1.23 3.22 0 4.61-2.805 5.625-5.475 5.92.42.36.81 1.096.81 2.22 0 1.606-.015 2.896-.015 3.286 0 .315.21.69.825.57C20.565 22.092 24 17.592 24 12.297c0-6.627-5.373-12-12-12'/%3E%3C/svg%3E") no-repeat;content:"";display:flex;filter:brightness(0) saturate(100%) invert(13%) sepia(35%) saturate(1296%) hue-rotate(178deg) brightness(99%) contrast(93%);height:22px;width:22px}html[data-theme=dark] .header-github-link:before{background:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23fff' d='M12 .297c-6.63 0-12 5.373-12 12 0 5.303 3.438 9.8 8.205 11.385.6.113.82-.258.82-.577 0-.285-.01-1.04-.015-2.04-3.338.724-4.042-1.61-4.042-1.61C4.422 18.07 3.633 17.7 3.633 17.7c-1.087-.744.084-.729.084-.729 1.205.084 1.838 1.236 1.838 1.236 1.07 1.835 2.809 1.305 3.495.998.108-.776.417-1.305.76-1.605-2.665-.3-5.466-1.332-5.466-5.93 0-1.31.465-2.38 1.235-3.22-.135-.303-.54-1.523.105-3.176 0 0 1.005-.322 3.3 1.23.96-.267 1.98-.399 3-.405 1.02.006 2.04.138 3 .405 2.28-1.552 3.285-1.23 3.285-1.23.645 1.653.24 2.873.12 3.176.765.84 1.23 1.91 1.23 3.22 0 4.61-2.805 5.625-5.475 5.92.42.36.81 1.096.81 2.22 0 1.606-.015 2.896-.015 3.286 0 .315.21.69.825.57C20.565 22.092 24 17.592 24 12.297c0-6.627-5.373-12-12-12'/%3E%3C/svg%3E") no-repeat;filter:brightness(0) saturate(100%) invert(100%) sepia(87%) saturate(2%) hue-rotate(56deg) brightness(106%) contrast(100%)}.function{color:var(--code-function-color)!important}.plain{color:var(--code-plain-color)!important}.tag,.template-string,.token+.boolean,.token+.dom,.token+.keyword,.token+.number,.token+.parameter,.token+.property,.token+.string{color:var(--code-tag-color)!important}.attr-name{color:var(--code-attr-name-color)!important}.attr-value{color:var(--code-attr-value-color)!important}.punctuation{color:var(--code-punctuation-color)!important}#playground-upload-modal-input,.theme-doc-markdown header,.web-speech-not-supported-error{display:none}h1+h2{margin-top:35px!important}.adaptive-logo-filter{filter:var(--adaptive-logo-filter)}.web-speech-not-supported-error,.web-speech-not-supported-error>a{color:red}body.DocSearch--active{overflow:auto!important}.youtube-icon{filter:brightness(0) saturate(100%) invert(60%) sepia(65%) saturate(421%) hue-rotate(179deg) brightness(90%) contrast(96%);float:left;margin-right:10px;margin-top:-2px;width:30px}#start-page-connect-to-popular{height:180px;width:756px}#start-page-connect-to-custom.start-page-main-details-expanded,#start-page-connect-to-popular.start-page-main-details-expanded{height:470px}#start-page-connect-to-popular>.start-page-connect-to-popular-navigation{cursor:pointer;display:inline-block;margin-left:0;margin-top:60px;width:50%}#start-page-connect-to-popular-navigation-left{padding-left:40px;text-align:left}#start-page-connect-to-popular-navigation-right{padding-right:84px;text-align:right}#start-page-connect-to-popular-navigation-right.start-page-main-details-visible{padding-right:40px}#start-page-connect-to-custom-navigation:hover,#start-page-connect-to-popular-navigation-left:hover,#start-page-web-model-navigation:hover{padding-left:4px}#start-page-connect-to-popular-navigation-right:hover{padding-right:44px}#playground-upload-modal-buttons{margin-top:20}#playground-upload-modal-error{color:red;margin-top:8px;text-align:center}.tag_zVej{border:1px solid var(--docusaurus-tag-list-border);transition:border var(--ifm-transition-fast)}.tag_zVej:hover{--docusaurus-tag-list-border:var(--ifm-link-color);text-decoration:none}.tagRegular_sFm0{border-radius:var(--ifm-global-radius);font-size:90%;padding:.2rem .5rem .3rem}.tagWithCount_h2kH{align-items:center;border-left:0;display:flex;padding:0 .5rem 0 1rem;position:relative}.tagWithCount_h2kH:after,.tagWithCount_h2kH:before{border:1px solid var(--docusaurus-tag-list-border);content:"";position:absolute;top:50%;transition:inherit}.tagWithCount_h2kH:before{border-bottom:0;border-right:0;height:1.18rem;right:100%;transform:translate(50%,-50%) rotate(-45deg);width:1.18rem}.tagWithCount_h2kH:after{border-radius:50%;height:.5rem;left:0;transform:translateY(-50%);width:.5rem}.tagWithCount_h2kH span{background:var(--ifm-color-secondary);border-radius:var(--ifm-global-radius);color:var(--ifm-color-black);font-size:.7rem;line-height:1.2;margin-left:.3rem;padding:.1rem .4rem}.tags_jXut{display:inline}.tag_QGVx{display:inline-block;margin:0 .4rem .5rem 0}.iconEdit_Z9Sw{margin-right:.3em;vertical-align:sub}.lastUpdated_JAkA{font-size:smaller;font-style:italic;margin-top:.2rem}.tocCollapsibleButton_TO0P{align-items:center;display:flex;font-size:inherit;justify-content:space-between;padding:.4rem .8rem;width:100%}.tocCollapsibleButton_TO0P:after{background:var(--ifm-menu-link-sublist-icon) 50% 50%/2rem 2rem no-repeat;content:"";filter:var(--ifm-menu-link-sublist-icon-filter);height:1.25rem;transform:rotate(180deg);transition:transform var(--ifm-transition-fast);width:1.25rem}.tocCollapsibleButtonExpanded_MG3E:after,.tocCollapsibleExpanded_sAul{transform:none}.tocCollapsible_ETCw{background-color:var(--ifm-menu-color-background-active);border-radius:var(--ifm-global-radius);margin:1rem 0}.tocCollapsibleContent_vkbj>ul{border-left:none;border-top:1px solid var(--ifm-color-emphasis-300);font-size:15px;padding:.2rem 0}.tocCollapsibleContent_vkbj ul li{margin:.4rem .8rem}.tocCollapsibleContent_vkbj a{display:block}.tableOfContents_bqdL{max-height:calc(100vh - var(--ifm-navbar-height) - 2rem);overflow-y:auto;position:sticky;top:calc(var(--ifm-navbar-height) + 1rem)}.code-toggle{background-color:#fff;border:1px solid #3584d3;border-radius:5px;color:#3584d3;cursor:pointer;margin:5px auto 20px;padding-bottom:5px;padding-top:5px;text-align:center;-webkit-user-select:none;user-select:none;width:100px}#playground-add-button,.playground-header-button{background-color:var(--playground-add-background)}.code-toggle:hover{background-color:#fbfbfb}.code-toggle:active{background-color:#f6f6f6}#playground-information-modal{margin-top:20px;max-height:560px!important;padding-left:20px;padding-right:18px;width:475px}#playground-information-modal-connect{margin-right:13px;width:57px}#playground-information-modal-shield{margin-left:5px;margin-right:19px;padding-bottom:6px;width:45px}#playground-information-modal-video{margin-left:6px;margin-right:17px;padding-bottom:1px;width:27px}.playground-information-modal-icon{filter:var(--playground-information-modal-filter);-webkit-user-select:none;user-select:none}#playground-information-modal-close-button{margin-bottom:-2px}.playground-intro-modal{transition:.5s!important}.playground-intro-modal>#playground-information-modal-title{padding-top:3px}#playground-add-button-container{text-align:center;width:100%}.playground-add-button-container-grid{margin-bottom:49px;margin-top:10px}#speech-content,.playground-add-button-container-panorama{margin-top:30px}.playground-add-button-container-expanded{margin-bottom:25px;margin-top:7px}#playground-add-button{box-shadow:0 0 12px 0 #2c33491a;height:50px;width:50px}#playground-add-button:hover{background-color:var(--playground-add-background-hover);box-shadow:0 0 8px 0 rgba(44,51,73,.141)}#playground-add-button:active{transform:scale(.95)}#playground-add-button-image{filter:var(--playground-add-filter);padding-top:9px;width:31px}#playground-add-button:hover>#playground-add-button-image{filter:var(--playground-add-filter-hover)}#playground-information-icon{filter:var(--playground-information-filter);width:21px}.playground-header-button:hover>a>#playground-information-icon{filter:var(--playground-information-filter-hover)}#playground-export-modal-checkbox-description{font-size:15px;margin-top:5px}#playground-export-modal-checkbox{float:left;margin-left:2px;margin-right:7px;margin-top:5px}#playground-header-buttons{display:flex;position:absolute;right:24px;top:4px}.playground-expanded>#playground-title>#playground-header-buttons{top:6px}.playground-header-button{border-radius:10px;box-shadow:0 0 10px 0 rgba(44,51,73,.238);cursor:pointer;height:40px;margin-right:16px;width:40px}.playground-header-button:hover{background-color:var(--playground-add-background-hover);box-shadow:0 0 8px 0 rgba(44,51,73,.242)}.playground-header-button:active{transform:scale(.96)}.playground-header-button>a>svg{filter:var(--playground-header-button-filter);height:100%;width:25px}.playground-header-button:hover>a>svg{filter:var(--playground-header-button-filter-hover)}.playground-file-button{padding-bottom:8px;width:23px}.playground-header-modal-title{margin-top:2px!important}.playground-header-modal-description{color:var(--playground-header-modal-text-color);font-size:15.8px}.playground-header-modal-buttons{display:flex;justify-content:center;margin-bottom:4px;margin-top:15px}.backToTopButton_sjWU{background-color:var(--ifm-color-emphasis-200);border-radius:50%;bottom:1.3rem;box-shadow:var(--ifm-global-shadow-lw);height:3rem;opacity:0;position:fixed;right:1.3rem;transform:scale(0);transition:all var(--ifm-transition-fast) var(--ifm-transition-timing-default);visibility:hidden;width:3rem;z-index:calc(var(--ifm-z-index-fixed) - 1)}.backToTopButton_sjWU:after{background-color:var(--ifm-color-emphasis-1000);content:" ";display:inline-block;height:100%;-webkit-mask:var(--ifm-menu-link-sublist-icon) 50%/2rem 2rem no-repeat;mask:var(--ifm-menu-link-sublist-icon) 50%/2rem 2rem no-repeat;width:100%}.backToTopButtonShow_xfvO{opacity:1;transform:scale(1);visibility:visible}#explore-button-container{display:flex;justify-content:center;margin-bottom:120px}#explore-button{background-color:var(--explore-background-color-default);border-radius:5px!important;color:#fff;font-size:20px!important;font-weight:500!important;height:50px!important;margin-right:unset!important;padding:8px 28px 10px!important}#explore-button:hover{background-color:var(--explore-background-color-hover)}#explore-button:active{background-color:var(--explore-background-color-click)}.explore-button-collapsed,.playground-modal-fade-out,.speech-panels-hidden,.start-panel-not-visible{opacity:0}.explore-button-expanded{opacity:1;transition:1.2s}.preload-image{opacity:.1;position:absolute;width:.5px}#start-page-connect-to-custom{height:180px;width:846px}#start-page-requirements{margin-top:20px}#start-page-connect-to-custom-interceptor{margin-left:11px}.start-page-connect-to-custom-padded-content{left:8px}#start-page-connect-to-custom-navigation{cursor:pointer;margin-left:0;margin-top:45px;padding-left:40px}#start-page-options{height:180px}#start-page-options>div>.start-page-text{color:var(--ifm-font-color-base);margin-left:0;opacity:1;transition:.1s}#start-page-options>div>.start-page-text:hover{color:var(--start-text-color-hover);margin-left:4px}.start-page-text-option-container{margin-left:70px;opacity:0;position:relative;text-align:left;transition:1s;width:100%}.start-page-display-logos>.start-page-logo,.start-page-main-details>.start-page-main-details-visible,.start-page-options-visible>.start-page-text-option-container{margin-left:0;opacity:1}.start-page-text-option-container-2{top:45px;transition-delay:.6s}.start-page-text-option-container-3{top:90px;transition-delay:1.2s}.start-page-text-option-container-4{top:135px;transition-delay:1.8s}.playground-chat-animated,.start-page-options-leave>.start-page-text-option-container{transition:.5s}.start-page-options-leave>.start-page-text-option-container:hover{margin-left:70px}.start-page-options-leave>.start-page-text-option-container-2{transition-delay:.2s}.start-page-options-leave>.start-page-text-option-container-3{transition-delay:.4s}.start-page-options-leave>.start-page-text-option-container-4{transition-delay:.6s}.start-page-options-quick-entry>.start-page-text-option-container-1{transition:.7s}.start-page-options-quick-entry>.start-page-text-option-container-2{transition:.7s .4s}.start-page-options-quick-entry>.start-page-text-option-container-3{transition:.7s .8s}.start-page-options-quick-entry>.start-page-text-option-container-4{transition:.7s 1.2s}.start-page-option-back{color:color(--start-text-back-option-color);font-size:18px!important;margin-top:11px!important}#start-page-small-screen>div>div>a{font-size:19px}#start-page-small-screen{display:none;margin-top:15px;position:relative}#start-page-web-model{height:180px;width:456px}#start-page-web-model.start-page-main-details-expanded{height:344px}#start-page-web-model-intro{font-size:22px;margin-top:12px}#start-page-web-model-instructions{font-size:17.5px;left:16px}#start-page-web-model-property{left:16px;margin-top:4px}#start-page-web-model-video{font-size:17.8px;margin-top:25px}#start-page-web-model-video-icon{margin-top:.5px;position:absolute;width:28px}#start-page-web-model-video>a>span{margin-left:35px}#start-page-web-model-navigation{cursor:pointer;margin-left:0;margin-top:26px;padding-left:40px}.start-page-web-model-slide{color:var(--start-text-slider-color);font-size:25px!important;left:147px;margin-top:22px;position:absolute!important}#start-page-web-model>.start-page-web-model-slide-visible{left:97px;opacity:1}#start-page-web-model>.start-page-web-model-slide-visible-out{left:48px;opacity:0}#start-page-create-component{height:180px;width:530px}#start-page-create-component.start-page-main-details-expanded{height:400px}#start-page-create-component-next{cursor:pointer;margin-left:0;margin-top:60px;text-align:right}#start-page-create-component-next.start-page-main-details-visible{margin-left:-26px}#start-page-create-component-next:hover{margin-left:-36px}#start-particles-container{height:100%;position:absolute;transform:translateY(-16px);width:100%}#customize-content,#media-panels,#playground-chat-list-parent,#speech-content,#speech-left-panel,.playground-chat-component{display:flex;justify-content:center}.playground-chat-list-expanded>.playground-chat-wrapper>.playground-chat-component{height:calc(100vh - 150px)}.playground-chat-list-expanded>.playground-chat-wrapper:first-child>.playground-chat-component{height:calc(100vh - 205px)}.playground-chat-list-expanded>.playground-chat-wrapper>.playground-chat-component>deep-chat{height:100%!important;width:100%!important}.playground-chat-description-text-parent{position:relative}.playground-chat-description-text{border:unset;color:var(--playground-background);font-size:17px;outline:0}.playground-chat-description-text-input{background-color:unset;color:var(--playground-wrapper-text-input-color);left:-1px;position:absolute;top:4px;width:calc(100% + 15px)}.playground-chat-wrapper{float:left;height:440px;min-width:400px}.playground-chat-wrapper-scale-shrunk{transform:scale(0);transition:.4s}.playground-chat-wrapper-scale-expanded{transform:scale(1)}.playground-chat-wrapper-width-shrunk{min-width:0;width:0}.playground-chat-wrapper-width-expanded{width:400px}.playground-chat-wrapper-height-shrunk{height:0}.playground-chat-list-expanded>.playground-chat-wrapper{height:0;width:unset}.playground-chat-list-expanded>.playground-chat-wrapper-height-expanded{height:calc(100vh - 62px)}.playground-chat-list-expanded>.playground-chat-wrapper-height-expanded:first-child{height:calc(100vh - 116px)}.playground-chat-details{padding-top:16px;text-align:center}.playground-chat-description{display:flex;justify-content:center;width:100%}.playground-chat-config-buttons{padding-top:1px;width:100%}.playground-chat-config-buttons>*{opacity:0;transition:.15s}.footerLogoLink_BH7S:hover,.hash-link:focus,.playground-chat-wrapper:hover>.playground-chat-details>.playground-chat-config-buttons>*,.playground-modal-fade-in,.start-page-title-visible,:hover>.hash-link{opacity:1}.playground-chat-drag-handle{cursor:grab;cursor:-webkit-grab;filter:var(--playground-wrapper-drag-filter);margin-right:3px;padding-bottom:1px;user-select:none;-moz-user-select:none;-webkit-user-select:none;-ms-user-select:none;width:22px}.playground-chat-drag-handle:hover{filter:var(--playground-wrapper-drag-filter-hover)}.playground-chat-drag-handle:active{cursor:grabbing;cursor:-webkit-grabbing}.playground-chat-config-button{cursor:pointer;filter:var(--playground-wrapper-button-filter);margin-right:8px;padding-bottom:3px;transform:scaleY(.95);width:17px}.playground-chat-config-button:hover{filter:var(--playground-wrapper-button-filter-hover);transform:scale(1.01,.97)}.playground-chat-config-button:active{filter:var(--playground-wrapper-button-filter-active);transform:scale(.96,.92)}.playground-chat-clear-button{padding-bottom:2px;transform:scale(.98,1.1);width:18.5px}.playground-chat-clear-button:hover{transform:scaleY(1.11)}.playground-chat-clear-button:active{transform:scale(.96,1.06)}.playground-chat-clone-button{padding-bottom:2.7px;width:18px}.playground-chat-remove-button{filter:var(--playground-wrapper-remove-filter);padding-bottom:4.5px;width:16px}.playground-constructable-object-property-input{border:1px solid grey;border:var(--playground-service-input-border);border-radius:4px;color:#333;color:var(--playground-service-input-color);font-size:15px;height:25px;padding-left:6px;padding-top:1px;position:relative;top:1px;width:94.5px}.playground-constructable-object-button{background-color:var(--playground-modal-close-background);border:1px solid grey;border-radius:5px;cursor:pointer;font-size:13px;margin-bottom:3px;margin-right:8px;position:relative}.playground-constructable-object-button:hover,.playground-modal-close-button:hover{background-color:var(--playground-modal-close-background-hover)}.playground-constructable-object-button:active,.playground-modal-close-button:active{background-color:var(--playground-modal-close-background-active)}.playground-constructable-object-add-button{height:24px;top:-1px;width:26px}.playground-constructable-object-remove-button{height:23px;margin-left:5px;top:.5px;width:24px}.DocSearch-Button-Container,.playground-service-modal-select-option{align-items:center;display:flex}.playground-service-modal-select-empty-option{margin-top:-2px}.playground-service-modal-optional-parameter-input-label{color:#232323;font-size:15px}.playground-service-modal-collapsible-title{border-bottom:var(--playground-modal-collapsible-title-border);color:var(--playground-modal-collapsible-title-color);margin-bottom:10px;margin-top:10px;-webkit-user-select:none;user-select:none}.playground-service-modal-collapsible-title:hover{font-weight:500}.playground-service-modal-collapsible-title-button{bottom:1px;cursor:pointer;float:left;height:10px;margin-right:5px;position:relative;width:10px}.playground-service-modal-collapsible-title-text{cursor:pointer;font-weight:400!important}#playground-service-modal-close-buttons{margin-top:10px;text-align:center}#playground-service-modal-service-label,#playground-service-modal-service-type-label{bottom:-1px;position:relative}.playground-service-modal-visibility-input{padding-right:23px}#visibility-icon-container{cursor:pointer;float:right;position:relative;-webkit-user-select:none;user-select:none;width:20px}.visibility-icon{filter:brightness(0) saturate(100%) invert(88%) sepia(0) saturate(441%) hue-rotate(31deg) brightness(91%) contrast(87%);left:-18px;position:absolute;top:8.5px;width:11.5px}.visibility-icon:hover{filter:var(--playground-modal-visibility-filter-hover)}.playground-service-modal-service-icon{margin-left:2px;margin-right:2px;width:10px}.adaptive-openai-filter{filter:var(--playground-modal-openai-filter)}#service-code{background-color:var(--playground-modal-code-background);color:var(--playground-modal-code-color);margin:0;padding-bottom:10px;padding-top:10px}.playgroud-service-modal-form>div{display:table-row;height:31px}.playground-service-modal-input-label{color:var(--playground-modal-label-color);cursor:pointer;display:table-cell;padding-right:10px;white-space:nowrap;width:1px}.playground-service-modal-input{background-color:var(--playground-service-input-background);border:var(--playground-service-input-border);border-radius:4px;color:var(--playground-service-input-color);font-size:15px;height:25px;padding-left:6px;padding-top:1px;position:relative;top:1px;width:200px}@-moz-document url-prefix(){.direct-service-title{display:flex;padding-top:3px}.playground-header-modal-description{font-size:15px}.playground-service-modal-input{padding-top:0}}.playground-modal-field-invalid{border:1px solid red}.playground-modal-field-invalid-2{border:1.5px solid red}.playground-service-modal-background{height:100%;left:0;position:fixed;top:0;transition:.2s;width:100%;z-index:2}.playground-modal-fade-in-background{background-color:var(--playground-modal-fade-in-background)}.playground-modal-fade-out-background{background-color:var(--playground-modal-fade-in-background-out)}.playground-modal{background-color:var(--playground-modal-background);border:var(--playground-modal-border);border-radius:7px;left:50%;padding:10px 20px 20px;position:fixed;text-align:left;top:50%;transform:translate(-50%,-50%);transition:.2s;width:500px;z-index:2}.playground-modal::-webkit-scrollbar{width:10px}.playground-modal::-webkit-scrollbar-track{background-color:var(--playground-modal-scrollbar-background)}.playground-modal::-webkit-scrollbar-thumb{background-color:var(--playground-chat-list-scrollbar-thumb-background);border-radius:10px}#capture-files-panels>*,.playground-modal>div{width:100%}.playground-modal-title{color:var(--playground-modal-title-color);display:flex;font-size:21px;justify-content:center;margin-bottom:10px;margin-top:1px;padding-bottom:5px;text-align:center}.playground-modal-button{border-radius:5px;cursor:pointer;font-size:15px;height:30px;margin-right:8px;width:68px}.playground-modal-close-button{background-color:var(--playground-modal-close-background);border:var(--playground-modal-close-border)}.playground-modal-submit-button{background-color:var(--playground-modal-submit-background);border:var(--playground-modal-submit-border);color:var(--playground-modal-submit-color)}#start-panel-header,.feature-sub-header{color:var(--homepage-header-color);font-weight:700}.playground-modal-submit-button:hover{background-color:var(--playground-modal-submit-background-hover)}.playground-modal-submit-button:active{background-color:var(--playground-modal-submit-background-active)}#small-screen-component{display:none;justify-content:center;transform:scale(.9)}#small-screen-deep-chat-logo{display:none;margin-left:auto;margin-right:auto;margin-top:12px;width:200px}#start-panel-particles-container{height:100%;transform:translateY(-16px);width:100%}#start-panel{background:var(--homepage-background);border-bottom-left-radius:100% 9%;border-bottom-right-radius:100% 9%;display:table;height:calc(100vh - 20px);margin-left:auto;margin-right:auto;min-height:567px;padding-top:1%;position:relative;width:100%}#start-panel-content{left:10%;position:absolute;text-align:center;top:40%;transform:translateY(-50%);width:80%}#start-panel-header{font-size:3.7rem;letter-spacing:-1.2px}#start-panel-sub-header{font-family:inter_webfont,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,Noto Sans,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;font-size:2.65rem;font-weight:600;margin-top:-5px}#start-panel-animation-content-container{margin-left:auto;margin-right:auto;margin-top:65px;position:relative;width:650px}#start-panel-component{transition:margin-left 1s}.start-panel-component-center{margin-left:155px}#start-panel-logos{display:flex;flex-direction:column;position:absolute;z-index:5}.start-panel-visible{opacity:1;transition:1s}.start-panel-logos-middle{top:153px}.logos-top{top:12px}.start-panel-logos-collapsed .start-panel-logo{margin-bottom:-55px}.start-panel-logos-expanded .start-panel-logo{margin-bottom:15px}.start-panel-logos-left{left:395px}.start-panel-logo{background-color:#fff;border-radius:10px;box-shadow:0 .5rem 1rem 0 #2c33491a;cursor:pointer;display:inline-block;height:55px;transition:margin-bottom 1s;-webkit-user-select:none;user-select:none;width:54px}.start-panel-logo:hover{background-color:#e9e9e9}#message-line{background-color:#c5c5c5;height:1.5px;left:345px;position:absolute;top:180px;transition:width 1s;z-index:-4}.message-line-short{width:0}.message-line-long{width:175px}#connect-text,#media-text,.capture-files-text{font-size:20px;margin-top:100px;width:80%;text-align:center}#message-bubble{background-color:#d1d1d1;border-radius:15px;height:15px;left:325px;position:absolute;top:173px;width:15px;z-index:-3}.message-bubble-animation{animation:4s infinite a}@keyframes a{40%{background-color:#d1d1d1;left:325px}70%{background-color:#d1d1d1;left:510px}71%{background-color:#0084ff;left:510px}to{background-color:#0084ff;left:330px}}.start-panel-component-left{margin-left:45px!important}.start-panel-logos-right{left:495px!important}#capture-files-sub-header{margin-bottom:60px;margin-top:350px}#capture-files-panels{display:flex;justify-content:center;margin-top:10px}#capture-files-left-panel{display:flex;float:left;justify-content:center;padding-left:40px;padding-right:30px}#capture-files-right-panel{float:right;padding-right:23px}#connect-left-panel,.feature-panel{padding-right:30px}.capture-files-text{max-width:585px}.capture-panels-distributed #capture-files-left-panel deep-chat{margin-left:auto;margin-right:260px}.capture-panels-distributed #capture-files-right-panel .capture-files-text{margin-left:165px}.capture-panels-close #capture-files-left-panel deep-chat{margin-left:auto;margin-right:128px;transition:1s}.capture-panels-close #capture-files-right-panel .capture-files-text{margin-left:-20px;transition:1s}#customize{margin-bottom:160px}#customize-sub-header{margin-bottom:80px}#customize-content deep-chat{margin-left:30px;margin-right:30px}.customize-content-bottom{margin-top:300px}.customize-content-top{margin-top:0;transition:2s ease-out}#connect{margin-top:150px}#connect-panels{display:flex;justify-content:center;margin-top:60px}#connect-left-panel deep-chat{display:table;margin-left:auto;margin-right:300px;transition:1.5s}.connect-panels-close #connect-panels #connect-left-panel deep-chat{margin-right:120px}#connect-text{margin-left:120px;max-width:615px;transition:1.5s}.connect-panels-close #connect-panels #connect-right-panel #connect-text{margin-left:0}#speech{background:linear-gradient(120deg,var(--speech-gradient-start-color) 0,var(--speech-gradient-end-color) 100%);margin-bottom:90px;margin-top:120px}#speech-sub-header{padding-top:40px}#speech-content{padding-bottom:40px}#speech-right-panel deep-chat{margin-left:150px}#speech-text{font-size:20px;margin-left:auto;margin-right:14px;margin-top:100px;max-width:570px;min-width:433px;text-align:center;width:75%}.speech-panels-visible{opacity:1;transition:1.5s}#media-diagonal-padding{margin-top:200px;transform:skewY(4deg)}#media,#media-diagonal-padding{background-color:var(--media-background-color);height:382px;padding-top:30px}#media{margin-top:-300px;position:absolute;width:100%}#media-panel-left{display:flex;justify-content:right}#media-text{max-width:608px;min-width:530px}#media-panel-right{display:flex;padding-left:140px}.media-top{margin-top:50px;transition:1s}.media-bottom{margin-top:200px}#features-container{margin-left:auto;margin-right:auto}#features-header{background:-webkit-linear-gradient(20deg,#679fd4,#28699b);background-clip:text;-webkit-background-clip:text;-webkit-text-fill-color:#0000;font-size:2.85rem;font-weight:800;line-height:1.25;margin-bottom:16px;text-align:center}.feature-sub-header{font-size:35px;text-align:center}.feature-panel{padding-left:30px;width:50%}.feature-text{font-size:20px;padding:10%;text-align:center}#footer{color:var(--footer-text-color);font-size:14px;margin-left:60px;padding-bottom:5px;padding-top:10px}#playground-title,#start-page-title{color:var(--start-header-color);font-family:sans-serif;font-size:33px}.DocSearch-Button{align-items:center;background:var(--docsearch-searchbox-background);border:0;border-radius:40px;color:var(--docsearch-muted-color);cursor:pointer;display:flex;font-weight:500;height:36px;justify-content:space-between;padding:0 8px;-webkit-user-select:none;user-select:none}.DocSearch-Button:active,.DocSearch-Button:focus,.DocSearch-Button:hover{background:var(--docsearch-searchbox-focus-background);box-shadow:var(--docsearch-searchbox-shadow);color:var(--docsearch-text-color);outline:0}.DocSearch-Search-Icon{stroke-width:1.6}.DocSearch-Hit-Tree,.DocSearch-Hit-action,.DocSearch-Hit-icon,.DocSearch-Reset{stroke-width:var(--docsearch-icon-stroke-width)}.DocSearch-Button .DocSearch-Search-Icon{color:var(--docsearch-text-color)}.DocSearch-Button-Placeholder{font-size:1rem;padding:0 12px 0 6px}.DocSearch-Button-Keys{display:flex;min-width:calc(40px + .8em)}.DocSearch-Button-Key{align-items:center;background:var(--docsearch-key-gradient);border:0;border-radius:3px;box-shadow:var(--docsearch-key-shadow);color:var(--docsearch-muted-color);display:flex;height:18px;justify-content:center;margin-right:.4em;padding:0 0 2px;position:relative;top:-1px;width:20px}.DocSearch-Button-Key--pressed{box-shadow:var(--docsearch-key-pressed-shadow);transform:translate3d(0,1px,0)}.DocSearch--active,.start>body{overflow:hidden!important}.DocSearch-Container{background-color:var(--docsearch-container-background);height:100vh;left:0;position:fixed;top:0;width:100vw;z-index:200}.DocSearch-Container a{text-decoration:none}.DocSearch-Hit[aria-selected=true] mark,.content_knG7 a{text-decoration:underline}.DocSearch-Link{appearance:none;background:none;border:0;color:var(--docsearch-highlight-color);cursor:pointer;font:inherit;margin:0;padding:0}.DocSearch-Modal{background:var(--docsearch-modal-background);border-radius:6px;box-shadow:var(--docsearch-modal-shadow);flex-direction:column;margin:60px auto auto;max-width:var(--docsearch-modal-width);position:relative}.DocSearch-SearchBar{display:flex;padding:var(--docsearch-spacing) var(--docsearch-spacing) 0}.DocSearch-Form{align-items:center;background:var(--docsearch-searchbox-focus-background);border-radius:4px;box-shadow:var(--docsearch-searchbox-shadow);display:flex;height:var(--docsearch-searchbox-height);margin:0;padding:0 var(--docsearch-spacing);position:relative;width:100%}.DocSearch-Input{appearance:none;background:#0000;border:0;color:var(--docsearch-text-color);flex:1;font:inherit;font-size:1.2em;height:100%;outline:0;padding:0 0 0 8px;width:80%}.DocSearch-Input::placeholder{color:var(--docsearch-muted-color);opacity:1}.DocSearch-Input::-webkit-search-cancel-button,.DocSearch-Input::-webkit-search-decoration,.DocSearch-Input::-webkit-search-results-button,.DocSearch-Input::-webkit-search-results-decoration{display:none}.DocSearch-LoadingIndicator,.DocSearch-MagnifierLabel,.DocSearch-Reset{margin:0;padding:0}.DocSearch-Container--Stalled .DocSearch-LoadingIndicator,.DocSearch-MagnifierLabel,.DocSearch-Reset{align-items:center;color:var(--docsearch-highlight-color);display:flex;justify-content:center}.DocSearch-Cancel,.DocSearch-Container--Stalled .DocSearch-MagnifierLabel,.DocSearch-LoadingIndicator,.DocSearch-Reset[hidden]{display:none}.DocSearch-Reset{animation:.1s ease-in forwards c;appearance:none;background:none;border:0;border-radius:50%;color:var(--docsearch-icon-color);cursor:pointer;padding:2px;right:0}.DocSearch-Help,.DocSearch-HitsFooter,.DocSearch-Label{color:var(--docsearch-muted-color)}.DocSearch-Reset:hover{color:var(--docsearch-highlight-color)}.DocSearch-LoadingIndicator svg,.DocSearch-MagnifierLabel svg{height:24px;width:24px}.DocSearch-Dropdown{max-height:calc(var(--docsearch-modal-height) - var(--docsearch-searchbox-height) - var(--docsearch-spacing) - var(--docsearch-footer-height));min-height:var(--docsearch-spacing);overflow-y:auto;overflow-y:overlay;padding:0 var(--docsearch-spacing);scrollbar-color:var(--docsearch-muted-color) var(--docsearch-modal-background);scrollbar-width:thin}.DocSearch-Dropdown::-webkit-scrollbar{width:12px}.DocSearch-Dropdown::-webkit-scrollbar-track{background:#0000}.DocSearch-Dropdown::-webkit-scrollbar-thumb{background-color:var(--docsearch-muted-color);border:3px solid var(--docsearch-modal-background);border-radius:20px}.DocSearch-Dropdown ul{list-style:none;margin:0;padding:0}.DocSearch-Label{font-size:.75em;line-height:1.6em}.DocSearch-Help{font-size:.9em;margin:0;-webkit-user-select:none;user-select:none}.DocSearch-Title{font-size:1.2em}.DocSearch-Logo a,.playground-chat-list-panorama{display:flex}.DocSearch-Logo svg{color:var(--docsearch-logo-color);margin-left:8px}.DocSearch-Hits:last-of-type{margin-bottom:24px}.DocSearch-Hits mark{background:none;color:var(--docsearch-highlight-color)}.DocSearch-HitsFooter{display:flex;font-size:.85em;justify-content:center;margin-bottom:var(--docsearch-spacing);padding:var(--docsearch-spacing)}.DocSearch-HitsFooter a{border-bottom:1px solid;color:inherit}.DocSearch-Hit{border-radius:4px;display:flex;padding-bottom:4px;position:relative}.DocSearch-Hit--deleting{opacity:0;transition:.25s linear}.DocSearch-Hit--favoriting{transform:scale(0);transform-origin:top center;transition:.25s linear .25s}.DocSearch-Hit a{background:var(--docsearch-hit-background);border-radius:4px;box-shadow:var(--docsearch-hit-shadow);display:block;padding-left:var(--docsearch-spacing);width:100%}.DocSearch-Hit-source{background:var(--docsearch-modal-background);color:var(--docsearch-highlight-color);font-size:.85em;font-weight:600;line-height:32px;margin:0 -4px;padding:8px 4px 0;position:sticky;top:0;z-index:10}.DocSearch-Hit-Tree{color:var(--docsearch-muted-color);height:var(--docsearch-hit-height);opacity:.5;width:24px}.DocSearch-Hit[aria-selected=true] a{background-color:var(--docsearch-highlight-color)}.DocSearch-Hit-Container{align-items:center;color:var(--docsearch-hit-color);display:flex;flex-direction:row;height:var(--docsearch-hit-height);padding:0 var(--docsearch-spacing) 0 0}.DocSearch-Hit-icon{height:20px;width:20px}.DocSearch-Hit-action,.DocSearch-Hit-icon{color:var(--docsearch-muted-color)}.DocSearch-Hit-action{align-items:center;display:flex;height:22px;width:22px}.DocSearch-Hit-action svg{display:block;height:18px;width:18px}.DocSearch-Hit-action+.DocSearch-Hit-action{margin-left:6px}.DocSearch-Hit-action-button{appearance:none;background:none;border:0;border-radius:50%;color:inherit;cursor:pointer;padding:2px}#__docusaurus-base-url-issue-banner-container,.docSidebarContainer_YfHR,.navbarSearchContainer_Bca1:empty,.sidebarLogo_isFc,.themedComponent_mlkZ,[data-theme=dark] .lightToggleIcon_pyhR,[data-theme=light] .darkToggleIcon_wfgR,html[data-announcement-bar-initially-dismissed=true] .announcementBar_mb4j,svg.DocSearch-Hit-Select-Icon{display:none}.DocSearch-Hit[aria-selected=true] .DocSearch-Hit-Select-Icon{display:block}.DocSearch-Hit-action-button:focus,.DocSearch-Hit-action-button:hover{background:#0003;transition:background-color .1s ease-in}.DocSearch-Hit-action-button:focus path,.DocSearch-Hit-action-button:hover path{fill:#fff}.DocSearch-Hit-content-wrapper{display:flex;flex:1 1 auto;flex-direction:column;font-weight:500;justify-content:center;line-height:1.2em;margin:0 8px;overflow-x:hidden;position:relative;text-overflow:ellipsis;white-space:nowrap;width:80%}.DocSearch-Hit-title{font-size:.9em}.DocSearch-Hit-path{color:var(--docsearch-muted-color);font-size:.75em}.DocSearch-Hit[aria-selected=true] .DocSearch-Hit-Tree,.DocSearch-Hit[aria-selected=true] .DocSearch-Hit-action,.DocSearch-Hit[aria-selected=true] .DocSearch-Hit-icon,.DocSearch-Hit[aria-selected=true] .DocSearch-Hit-path,.DocSearch-Hit[aria-selected=true] .DocSearch-Hit-text,.DocSearch-Hit[aria-selected=true] .DocSearch-Hit-title,.DocSearch-Hit[aria-selected=true] mark{color:var(--docsearch-hit-active-color)!important}.DocSearch-ErrorScreen,.DocSearch-NoResults,.DocSearch-StartScreen{font-size:.9em;margin:0 auto;padding:36px 0;text-align:center;width:80%}.DocSearch-Screen-Icon{color:var(--docsearch-muted-color);padding-bottom:12px}.DocSearch-NoResults-Prefill-List{display:inline-block;padding-bottom:24px;text-align:left}.DocSearch-NoResults-Prefill-List ul{display:inline-block;padding:8px 0 0}.DocSearch-NoResults-Prefill-List li{list-style-position:inside;list-style-type:"» "}.DocSearch-Prefill{appearance:none;background:none;border:0;border-radius:1em;color:var(--docsearch-highlight-color);cursor:pointer;display:inline-block;font-size:1em;font-weight:700;padding:0}.DocSearch-Prefill:focus,.DocSearch-Prefill:hover{outline:0;text-decoration:underline}.DocSearch-Footer{align-items:center;background:var(--docsearch-footer-background);border-radius:0 0 8px 8px;box-shadow:var(--docsearch-footer-shadow);display:flex;flex-direction:row-reverse;flex-shrink:0;height:var(--docsearch-footer-height);justify-content:space-between;padding:0 var(--docsearch-spacing);position:relative;-webkit-user-select:none;user-select:none;width:100%;z-index:300}.DocSearch-Commands li,.DocSearch-Commands-Key{align-items:center;display:flex}.DocSearch-Commands{color:var(--docsearch-muted-color);display:flex;list-style:none;margin:0;padding:0}.DocSearch-Commands li:not(:last-of-type){margin-right:.8em}.DocSearch-Commands-Key{background:var(--docsearch-key-gradient);border:0;border-radius:2px;box-shadow:var(--docsearch-key-shadow);color:var(--docsearch-muted-color);height:18px;justify-content:center;margin-right:.4em;padding:0 0 1px;width:20px}.DocSearch-VisuallyHiddenForAccessibility{clip:rect(0 0 0 0);clip-path:inset(50%);height:1px;overflow:hidden;position:absolute;white-space:nowrap;width:1px}.DocSearch-Button{margin:0;transition:all var(--ifm-transition-fast) var(--ifm-transition-timing-default)}.DocSearch-Container,.skipToContent_fXgn{z-index:calc(var(--ifm-z-index-fixed) + 1)}.skipToContent_fXgn{background-color:var(--ifm-background-surface-color);color:var(--ifm-color-emphasis-900);left:100%;padding:calc(var(--ifm-global-spacing)/2) var(--ifm-global-spacing);position:fixed;top:1rem}.skipToContent_fXgn:focus{box-shadow:var(--ifm-global-shadow-md);left:1rem}.closeButton_CVFx{line-height:0;padding:0}.content_knG7{font-size:85%;padding:5px 0;text-align:center}.content_knG7 a{color:inherit}.announcementBar_mb4j{align-items:center;background-color:var(--ifm-color-white);border-bottom:1px solid var(--ifm-color-emphasis-100);color:var(--ifm-color-black);display:flex;height:var(--docusaurus-announcement-bar-height)}.announcementBarPlaceholder_vyr4{flex:0 0 10px}.announcementBarClose_gvF7{align-self:stretch;flex:0 0 30px}.toggle_vylO{height:2rem;width:2rem}.toggleButton_gllP{align-items:center;border-radius:50%;display:flex;height:100%;justify-content:center;transition:background var(--ifm-transition-fast);width:100%}.toggleButton_gllP:hover{background:var(--ifm-color-emphasis-200)}.toggleButtonDisabled_aARS{cursor:not-allowed}.darkNavbarColorModeToggle_X3D1:hover{background:var(--ifm-color-gray-800)}[data-theme=dark] .themedComponent--dark_xIcU,[data-theme=light] .themedComponent--light_NVdE,html:not([data-theme]) .themedComponent--light_NVdE{display:initial}[data-theme=dark]:root{--docusaurus-collapse-button-bg:#ffffff0d;--docusaurus-collapse-button-bg-hover:#ffffff1a}.collapseSidebarButton_PEFL{display:none;margin:0}.iconExternalLink_nPIU{margin-left:.3rem}.docMainContainer_TBSr,.docRoot_UBD9{display:flex;width:100%}.docsWrapper_hBAB{display:flex;flex:1 0 auto}.dropdownNavbarItemMobile_S0Fm{cursor:pointer}.iconLanguage_nlXk{margin-right:5px;vertical-align:text-bottom}.navbarHideable_m1mJ{transition:transform var(--ifm-transition-fast) ease}.navbarHidden_jGov{transform:translate3d(0,calc(-100% - 2px),0)}.errorBoundaryError_a6uf{color:red;white-space:pre-wrap}.errorBoundaryFallback_VBag{color:red;padding:.55rem}.footerLogoLink_BH7S{opacity:.5;transition:opacity var(--ifm-transition-fast) var(--ifm-transition-timing-default)}body:not(.navigation-with-keyboard) :not(input):focus{outline:0}.anchorWithStickyNavbar_LWe7{scroll-margin-top:calc(var(--ifm-navbar-height) + .5rem)}.anchorWithHideOnScrollNavbar_WYt5{scroll-margin-top:.5rem}.hash-link{opacity:0;padding-left:.5rem;transition:opacity var(--ifm-transition-fast);-webkit-user-select:none;user-select:none}.hash-link:before{content:"#"}.mainWrapper_z2l0{display:flex;flex:1 0 auto;flex-direction:column}.docusaurus-mt-lg{margin-top:3rem}#__docusaurus{display:flex;flex-direction:column;min-height:100%}#start-page-content{align-items:center;display:flex;height:100%;justify-content:center;margin-left:-20px;overflow:hidden;position:absolute;text-align:center;top:0;width:100%}#start-page-title{transition:1s}.homepage>body>#__docusaurus>nav,.invisible-component,.playground-expanded>#playground-title>b,.start-page-title-not-visible{opacity:0}#start-page-main{margin-top:15px;position:relative}.start-page-text{cursor:pointer;font-size:20px;margin-left:70px;margin-top:10px;opacity:0;position:absolute;text-align:left;transition:1s;-webkit-user-select:none;user-select:none;width:100%}.start-page-large-text{font-size:21px}.start-page-small-text{font-size:18px}.start-page-code{color:var(--start-text-code-color)}.buttonGroup__atx button,.codeBlockContainer_Ckt0{background:var(--prism-background-color);color:var(--prism-color)}.start-page-display-logos>div:first-child,.start-page-main-details{transition:1s}.start-page-main-details>div{cursor:auto;margin-left:70px;position:relative;transition:1s;-webkit-user-select:auto;user-select:auto}.start-page-main-details.start-page-main-details-fade-out{opacity:0;transition:.7s}.start-page-logos{display:flex;margin-left:0!important;margin-top:20px}.start-page-display-logos>div:nth-child(2){transition:1s .1s}.start-page-display-logos>div:nth-child(3){transition:1s .2s}.start-page-display-logos>div:nth-child(4){transition:1s .3s}.start-page-display-logos>div:nth-child(5){transition:1s .4s}.start-page-display-logos>div:nth-child(6){transition:1s .5s}.start-page-display-logos>div:nth-child(7){transition:1s .6s}.start-page-display-logos>div:nth-child(8){transition:1s .7s}.start-page-logo{margin-right:20px;opacity:0;transition:1s}.start-page-hoverable-logos>.start-page-logo{transition:.1s!important}.start-page-navigation{font-size:17px;-webkit-user-select:none!important;user-select:none!important}.start-page-navigation:hover{color:var(--start-text-color-hover)}.start-page-navigation.start-page-navigation-hoverable{transition:.1s}.start-page-main-pointer-events{pointer-events:all}.codeBlockContainer_Ckt0{border-radius:var(--ifm-code-border-radius);box-shadow:var(--ifm-global-shadow-lw);margin-bottom:var(--ifm-leading)}.codeBlockContent_biex{border-radius:inherit;direction:ltr;position:relative}.codeBlockTitle_Ktv7{border-bottom:1px solid var(--ifm-color-emphasis-300);border-top-left-radius:inherit;border-top-right-radius:inherit;font-size:var(--ifm-code-font-size);font-weight:500;padding:.75rem var(--ifm-pre-padding)}.codeBlock_bY9V{--ifm-pre-background:var(--prism-background-color);margin:0;padding:0}.codeBlockLines_e6Vv{float:left;font:inherit;min-width:100%;padding:var(--ifm-pre-padding)}.codeBlockLinesWithNumbering_o6Pm{display:table;padding:var(--ifm-pre-padding) 0}.buttonGroup__atx{column-gap:.2rem;display:flex;position:absolute;right:calc(var(--ifm-pre-padding)/2);top:calc(var(--ifm-pre-padding)/2)}.buttonGroup__atx button{align-items:center;border:1px solid var(--ifm-color-emphasis-300);border-radius:var(--ifm-global-radius);display:flex;line-height:0;opacity:0;padding:.4rem;transition:opacity var(--ifm-transition-fast) ease-in-out}.buttonGroup__atx button:focus-visible,.buttonGroup__atx button:hover{opacity:1!important}.theme-code-block:hover .buttonGroup__atx button{opacity:.4}:where(:root){--docusaurus-highlighted-code-line-bg:#484d5b}:where([data-theme=dark]){--docusaurus-highlighted-code-line-bg:#646464}.theme-code-block-highlighted-line{background-color:var(--docusaurus-highlighted-code-line-bg);display:block;margin:0 calc(var(--ifm-pre-padding)*-1);padding:0 var(--ifm-pre-padding)}.codeLine_lJS_{counter-increment:a;display:table-row}.codeLineNumber_Tfdd{background:var(--ifm-pre-background);display:table-cell;left:0;overflow-wrap:normal;padding:0 var(--ifm-pre-padding);position:sticky;text-align:right;width:1%}.codeLineNumber_Tfdd:before{content:counter(a);opacity:.4}.codeLineContent_feaV{padding-right:var(--ifm-pre-padding)}.theme-code-block:hover .copyButtonCopied_obH4{opacity:1!important}.copyButtonIcons_eSgA{height:1.125rem;position:relative;width:1.125rem}.copyButtonIcon_y97N,.copyButtonSuccessIcon_LjdS{left:0;position:absolute;top:0;fill:currentColor;height:inherit;opacity:inherit;transition:all var(--ifm-transition-fast) ease;width:inherit}.copyButtonSuccessIcon_LjdS{color:#00d600;left:50%;opacity:0;top:50%;transform:translate(-50%,-50%) scale(.33)}.copyButtonCopied_obH4 .copyButtonIcon_y97N{opacity:0;transform:scale(.33)}.copyButtonCopied_obH4 .copyButtonSuccessIcon_LjdS{opacity:1;transform:translate(-50%,-50%) scale(1);transition-delay:75ms}.wordWrapButtonIcon_Bwma{height:1.2rem;width:1.2rem}.details_lb9f{--docusaurus-details-summary-arrow-size:0.38rem;--docusaurus-details-transition:transform 200ms ease;--docusaurus-details-decoration-color:grey}.details_lb9f>summary{cursor:pointer;list-style:none;padding-left:1rem;position:relative}.details_lb9f>summary::-webkit-details-marker{display:none}.details_lb9f>summary:before{border-color:#0000 #0000 #0000 var(--docusaurus-details-decoration-color);border-style:solid;border-width:var(--docusaurus-details-summary-arrow-size);content:"";left:0;position:absolute;top:.45rem;transform:rotate(0);transform-origin:calc(var(--docusaurus-details-summary-arrow-size)/2) 50%;transition:var(--docusaurus-details-transition)}.collapsibleContent_i85q{border-top:1px solid var(--docusaurus-details-decoration-color);margin-top:1rem;padding-top:1rem}.details_b_Ee{--docusaurus-details-decoration-color:var(--ifm-alert-border-color);--docusaurus-details-transition:transform var(--ifm-transition-fast) ease;border:1px solid var(--ifm-alert-border-color);margin:0 0 var(--ifm-spacing-vertical)}.containsTaskList_mC6p{list-style:none}.img_ev3q{height:auto}.admonition_xJq3{margin-bottom:1em}.admonitionHeading_Gvgb{font:var(--ifm-heading-font-weight) var(--ifm-h5-font-size)/var(--ifm-heading-line-height) var(--ifm-heading-font-family)}.admonitionHeading_Gvgb:not(:last-child){margin-bottom:.3rem}.admonitionHeading_Gvgb code{text-transform:none}.admonitionIcon_Rf37{display:inline-block;margin-right:.4em;vertical-align:middle}.admonitionIcon_Rf37 svg{display:inline-block;height:1.6em;width:1.6em;fill:var(--ifm-alert-foreground-color)}.breadcrumbHomeIcon_YNFT{height:1.1rem;position:relative;top:1px;vertical-align:top;width:1.1rem}.breadcrumbsContainer_Z_bl{--ifm-breadcrumb-size-multiplier:0.8;margin-bottom:.8rem}.searchQueryInput_u2C7,.searchVersionInput_m0Ui{background:var(--docsearch-searchbox-focus-background);border:2px solid var(--ifm-toc-border-color);border-radius:var(--ifm-global-radius);color:var(--docsearch-text-color);font:var(--ifm-font-size-base) var(--ifm-font-family-base);margin-bottom:.5rem;padding:.8rem;transition:border var(--ifm-transition-fast) ease;width:100%}.searchQueryInput_u2C7:focus,.searchVersionInput_m0Ui:focus{border-color:var(--docsearch-primary-color);outline:0}.searchQueryInput_u2C7::placeholder{color:var(--docsearch-muted-color)}.searchResultsColumn_JPFH{font-size:.9rem;font-weight:700}.algoliaLogo_rT1R{max-width:150px}.algoliaLogoPathFill_WdUC{fill:var(--ifm-font-color-base)}.searchResultItem_Tv2o{border-bottom:1px solid var(--ifm-toc-border-color);padding:1rem 0}.searchResultItemHeading_KbCB{font-weight:400;margin-bottom:0}.searchResultItemPath_lhe1{color:var(--ifm-color-content-secondary);font-size:.8rem;--ifm-breadcrumb-separator-size-multiplier:1}.searchResultItemSummary_AEaO{font-style:italic;margin:.5rem 0 0}.loadingSpinner_XVxU{animation:1s linear infinite b;border:.4em solid #eee;border-radius:50%;border-top:.4em solid var(--ifm-color-primary);height:3rem;margin:0 auto;width:3rem}@keyframes b{to{transform:rotate(1turn)}}.loader_vvXV{margin-top:2rem}.search-result-match{background:#ffd78e40;color:var(--docsearch-hit-color);padding:.09em 0}.playground{background:var(--playground-background);overflow-x:hidden!important}.playground-panorama{margin:auto;padding-bottom:50px}#playground-title{margin-bottom:60px;margin-top:30px;position:relative;text-align:center;width:100vw}#playground-chat-list{overflow-x:auto;overflow-y:hidden;position:relative;scroll-behavior:smooth;width:88vw}.playground-chat-list-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(400px,1fr))}.playground-chat-list-expanded{display:grid;width:90vw!important}#playground-chat-list:empty{height:440px}.playground-chat-list-expanded:empty{height:20vw!important}#playground-chat-list::-webkit-scrollbar{height:8px}#playground-chat-list::-webkit-scrollbar-track{background-color:var(--playground-chat-list-scrollbar-background)}#playground-chat-list::-webkit-scrollbar-thumb{background-color:var(--playground-chat-list-scrollbar-thumb-background);border-radius:10px}.playground-button{-webkit-user-drag:none;user-select:none;-moz-user-select:none;-webkit-user-select:none;-ms-user-select:none}#chat-wrapper-configuration-tooltip{background-color:#fff;box-shadow:0 2px 1px -1px #0003,0 1px 1px 0 #00000024,0 1px 3px 0 #0000001f;color:#000000de;font-size:11px;padding:3px 10px;z-index:100}.playground-expanded>#playground-title{margin-bottom:10px!important;margin-top:0!important}.not-displayed{display:none}.displayed{display:block!important}.homepage-button{border:unset;border-radius:3px!important;text-decoration:none!important;transition:.1s!important;-webkit-user-select:none;user-select:none}.header-font{font-family:inter_webfont,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,Noto Sans,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji}.fade-in{animation:1.8s c!important}@keyframes c{0%{opacity:0}to{opacity:1}}@media (min-height:880px){#start-page-connect-to-custom.start-page-main-details-expanded,#start-page-connect-to-popular.start-page-main-details-expanded{height:520px}#start-page-create-component.start-page-main-details-expanded,#start-page-web-model.start-page-main-details-expanded{height:450px}}@media (min-width:997px){.collapseSidebarButton_PEFL,.expandButton_TmdG{background-color:var(--docusaurus-collapse-button-bg)}.lastUpdated_JAkA{text-align:right}.tocMobile_ITEo{display:none}:root{--docusaurus-announcement-bar-height:30px}.announcementBarClose_gvF7,.announcementBarPlaceholder_vyr4{flex-basis:50px}.collapseSidebarButton_PEFL{border:1px solid var(--ifm-toc-border-color);border-radius:0;bottom:0;display:block!important;height:40px;position:sticky}.collapseSidebarButtonIcon_kv0_{margin-top:4px;transform:rotate(180deg)}.expandButtonIcon_i1dp,[dir=rtl] .collapseSidebarButtonIcon_kv0_{transform:rotate(0)}.collapseSidebarButton_PEFL:focus,.collapseSidebarButton_PEFL:hover,.expandButton_TmdG:focus,.expandButton_TmdG:hover{background-color:var(--docusaurus-collapse-button-bg-hover)}.menuHtmlItem_M9Kj{padding:var(--ifm-menu-link-padding-vertical) var(--ifm-menu-link-padding-horizontal)}.menu_SIkG{flex-grow:1;padding:.5rem}@supports (scrollbar-gutter:stable){.menu_SIkG{padding:.5rem 0 .5rem .5rem;scrollbar-gutter:stable}}.menuWithAnnouncementBar_GW3s{margin-bottom:var(--docusaurus-announcement-bar-height)}.sidebar_njMd{display:flex;flex-direction:column;height:100%;padding-top:var(--ifm-navbar-height);width:var(--doc-sidebar-width)}.sidebarWithHideableNavbar_wUlq{padding-top:0}.sidebarHidden_VK0M{opacity:0;visibility:hidden}.sidebarLogo_isFc{align-items:center;color:inherit!important;display:flex!important;margin:0 var(--ifm-navbar-padding-horizontal);max-height:var(--ifm-navbar-height);min-height:var(--ifm-navbar-height);text-decoration:none!important}.sidebarLogo_isFc img{height:2rem;margin-right:.5rem}.expandButton_TmdG{align-items:center;display:flex;height:100%;justify-content:center;position:absolute;right:0;top:0;transition:background-color var(--ifm-transition-fast) ease;width:100%}[dir=rtl] .expandButtonIcon_i1dp{transform:rotate(180deg)}.docSidebarContainer_YfHR{border-right:1px solid var(--ifm-toc-border-color);clip-path:inset(0);display:block;margin-top:calc(var(--ifm-navbar-height)*-1);transition:width var(--ifm-transition-fast) ease;width:var(--doc-sidebar-width);will-change:width}.docSidebarContainerHidden_DPk8{cursor:pointer;width:var(--doc-sidebar-hidden-width)}.sidebarViewport_aRkj{height:100%;max-height:100vh;position:sticky;top:0}.docMainContainer_TBSr{flex-grow:1;max-width:calc(100% - var(--doc-sidebar-width))}.docMainContainerEnhanced_lQrH{max-width:calc(100% - var(--doc-sidebar-hidden-width))}.docItemWrapperEnhanced_JWYK{max-width:calc(var(--ifm-container-width) + var(--doc-sidebar-width))!important}.navbarSearchContainer_Bca1{padding:var(--ifm-navbar-item-padding-vertical) var(--ifm-navbar-item-padding-horizontal)}.docItemCol_VOVn{max-width:75%!important}}@media (min-width:1440px){.container{max-width:var(--ifm-container-width-xl)}}@media (max-width:2450px){#playground-chat-list{width:2000px}.playground-chat-list-grid{display:block;grid-template-columns:unset}}@media (max-width:2050px){#playground-chat-list{width:1600px}}@media (max-width:1934px){#media-diagonal-padding{transform:skewY(5deg)}}@media (max-width:1800px){.feature-panel{padding:0}}@media (max-width:1650px){#playground-chat-list{width:1200px}}@media (max-width:1478px){.capture-panels-distributed #capture-files-left-panel deep-chat{margin-right:200px}.capture-panels-distributed #capture-files-right-panel .capture-files-text{margin-left:132px}#connect-left-panel deep-chat{margin-right:260px}#connect-text{margin-left:80px}}@media (max-width:1425px){#footer{margin-left:0}}@media (max-width:1320px){.capture-panels-distributed #capture-files-left-panel deep-chat{margin-right:170px}.capture-panels-distributed #capture-files-right-panel .capture-files-text{margin-left:102px}.capture-panels-close #capture-files-left-panel deep-chat{margin-right:118px}.capture-panels-close #capture-files-right-panel .capture-files-text{margin-left:-30px}#connect-left-panel deep-chat{margin-right:230px}#connect-text{margin-left:50px}.connect-panels-close #connect-panels #connect-left-panel deep-chat{margin-right:110px}.connect-panels-close #connect-panels #connect-right-panel #connect-text{margin-left:-10px}}@media (max-width:1250px){#start-panel-sub-header{font-size:2.3rem}#start-panel-animation-content-container{padding-left:10px}#playground-chat-list{width:800px}#start-panel-right-table{width:100%!important}}@media (max-width:1160px){.capture-panels-distributed #capture-files-left-panel deep-chat{margin-right:140px}.capture-panels-distributed #capture-files-right-panel .capture-files-text{margin-left:72px}.capture-panels-close #capture-files-left-panel deep-chat,.connect-panels-close #connect-panels #connect-left-panel deep-chat{margin-right:90px}.capture-panels-close #capture-files-right-panel .capture-files-text{margin-left:-10px}#customize-content deep-chat{margin-left:15px;margin-right:15px}#connect-left-panel deep-chat{margin-right:170px}#connect-text{margin-left:10px}.connect-panels-close #connect-panels #connect-right-panel #connect-text{margin-left:-20px}#speech-text{margin-right:14px}#speech-right-panel deep-chat{margin-left:110px}#media-text{margin-right:-20px;min-width:460px}#media-panel-right{padding-left:120px}}@media (max-height:1100px){#playground-service-modal{margin-top:28px}}@media (max-width:1100px){.playground-chat-config-buttons>*{opacity:1}.capture-panels-close #capture-files-left-panel deep-chat{margin-right:75px}.capture-panels-close #capture-files-right-panel .capture-files-text{margin-left:-10px;min-width:440px}#customize-content deep-chat{margin-left:10px;margin-right:10px}#connect-left-panel deep-chat{margin-right:140px}#connect-text{margin-left:20px}.connect-panels-close #connect-panels #connect-left-panel deep-chat{margin-right:70px}.connect-panels-close #connect-panels #connect-right-panel #connect-text{margin-left:0}#speech-text{margin-right:10px}#speech-right-panel deep-chat{margin-left:100px}#media-panel-right{padding-left:100px}}@media (max-width:1070px){#customize-content deep-chat:nth-child(2){display:none}#customize-content deep-chat{margin-left:40px;margin-right:40px}}@media (max-width:1050px){.capture-panels-distributed #capture-files-left-panel deep-chat{margin-right:65px}.capture-panels-distributed #capture-files-right-panel .capture-files-text{margin-left:28px}.capture-panels-close #capture-files-left-panel deep-chat{margin-right:40px}.capture-panels-close #capture-files-right-panel .capture-files-text{margin-left:-15px}#connect-left-panel deep-chat{margin-right:90px}#connect-text{margin-left:40px}.connect-panels-close #connect-panels #connect-left-panel deep-chat{margin-right:30px}.connect-panels-close #connect-panels #connect-right-panel #connect-text{margin-left:10px}#speech-text{margin-right:-20px}#speech-right-panel deep-chat{margin-left:70px}#media-text{margin-right:-15px;min-width:420px}#media-panel-right{padding-left:70px}}@media (max-width:1000px){#start-page-connect-to-custom{width:680px}}@media (max-width:996px){.col{--ifm-col-width:100%;flex-basis:var(--ifm-col-width);margin-left:0}.footer{--ifm-footer-padding-horizontal:0}.colorModeToggle_DEke,.footer__link-separator,.navbar__item,.tableOfContents_bqdL{display:none}.footer__col{margin-bottom:calc(var(--ifm-spacing-vertical)*3)}.footer__link-item{display:block}.hero{padding-left:0;padding-right:0}.navbar>.container,.navbar>.container-fluid{padding:0}.navbar__toggle{display:inherit}.navbar__search-input{width:9rem}.pills--block,.tabs--block{flex-direction:column}.docItemContainer_F8PC{padding:0 .3rem}.navbarSearchContainer_Bca1{position:absolute;right:var(--ifm-navbar-padding-horizontal)}}@media only screen and (max-width:996px){.searchQueryColumn_RTkw,.searchResultsColumn_JPFH{max-width:60%!important}.searchLogoColumn_rJIA,.searchVersionColumn_ypXd{max-width:40%!important}.searchLogoColumn_rJIA{padding-left:0!important}}@media (max-width:945px){#start-panel-content{top:48%}#features-container{display:none}#start-panel{border-bottom-left-radius:unset;border-bottom-right-radius:unset;height:calc(100vh - 98px)}#footer{background-color:var(--homepage-background);text-align:center}#explore-button-container{display:none!important}}@media (max-width:890px){#start-page-connect-to-popular{width:600px}}@media (max-height:880px){.playground-modal{max-height:700px;overflow:auto}}@media (max-width:880px){#start-panel-animation-content-container{width:590px}#start-panel-header{font-size:3.3rem}#start-panel-sub-header{font-size:2rem}.start-panel-component-center{margin-left:120px}.start-panel-logos-left{left:345px}}@media (max-width:850px){#playground-view-button{display:none}#playground-chat-list{overflow:unset;width:400px}.playground-panorama{padding-bottom:5px}.playground-chat-list-panorama{display:block}}@media (max-height:830px){#start-panel-content{top:43%}#start-panel-animation-content-container{margin-top:60px}}@media (max-width:815px){#start-page-connect-to-custom{width:600px}}@media (max-height:800px){.playground-add-button-container-panorama{margin-top:25px}.playground-panorama{padding-bottom:0}.playground-panorama>#playground-title{margin-bottom:50px;margin-top:-20px}}@media (max-height:770px){.playground-modal{max-height:630px}#start-panel-content{top:45%}}@media (max-width:768px){.DocSearch-Button-Keys,.DocSearch-Button-Placeholder,.DocSearch-Commands,.DocSearch-Hit-Tree{display:none}:root{--docsearch-spacing:10px;--docsearch-footer-height:40px}.DocSearch-Dropdown{height:100%;max-height:calc(var(--docsearch-vh,1vh)*100 - var(--docsearch-searchbox-height) - var(--docsearch-spacing) - var(--docsearch-footer-height))}.DocSearch-Container{height:100vh;height:-webkit-fill-available;height:calc(var(--docsearch-vh,1vh)*100);position:absolute}.DocSearch-Footer{border-radius:0;bottom:0;position:absolute}.DocSearch-Hit-content-wrapper{display:flex;position:relative;width:80%}.DocSearch-Modal{border-radius:0;box-shadow:none;height:100vh;height:-webkit-fill-available;height:calc(var(--docsearch-vh,1vh)*100);margin:0;max-width:100%;width:100%}.DocSearch-Cancel{appearance:none;background:none;border:0;color:var(--docsearch-highlight-color);cursor:pointer;display:inline-block;flex:none;font:inherit;font-size:1em;font-weight:500;margin-left:var(--docsearch-spacing);outline:0;overflow:hidden;padding:0;-webkit-user-select:none;user-select:none;white-space:nowrap}}@media (max-width:760px){#start-page-content{margin-left:0}}@media (max-height:755px){.playground-grid>#playground-title{margin-bottom:39px;margin-top:28px}}@media (max-width:753px){#start-panel{min-height:512px}#start-panel-header{font-size:2.9rem;margin-top:10px}#start-panel-sub-header{font-size:1.6rem;margin-left:4%;width:92%}#start-panel-animation-content-container{margin-left:-5px}}@media (max-height:730px){.playground-chat-wrapper{height:434px}.playground-chat-details{padding-top:11px}.playground-grid>#playground-title{margin-bottom:26px;margin-top:17px}#playground-chat-list:empty{height:428px}}@media (max-width:720px){#start-panel-animation-content-container{margin-left:-10px;padding-left:0;width:500px}.start-panel-component-center{margin-left:110px}}@media (max-height:705px){#start-panel-animation-content-container{margin-top:40px}}@media (max-height:700px){#start-page-connect-to-custom,#start-page-connect-to-popular,#start-page-create-component,#start-page-options,#start-page-web-model{height:130px}#start-page-connect-to-custom.start-page-main-details-expanded,#start-page-connect-to-popular.start-page-main-details-expanded{height:400px}.playground-add-button-container-grid{margin-bottom:30px}#start-page-requirements{margin-top:20px}#start-page-connect-to-custom-navigation,#start-page-web-model-navigation{margin-top:30px}#start-page-create-component.start-page-main-details-expanded{height:340px}.playground-modal{max-height:560px}.playground-grid>#playground-title,.playground-panorama>#playground-title{margin-bottom:10px;margin-top:0}}@media (max-width:694px){#start-panel-animation-content-container{margin-left:-20px}}@media (max-height:670px){.playground-add-button-container-grid{margin-bottom:0;margin-top:0}.playground-add-button-container-panorama{margin-top:10px}.playground-chat-wrapper{height:425px}#start-panel-animation-content-container{margin-top:30px}}@media (max-width:670px){#start-page-connect-to-popular{width:500px}#start-page-connect-to-popular-navigation-left{padding-left:10px}#start-page-connect-to-popular-navigation-right{padding-right:10px}}@media (max-width:650px){#start-panel-animation-content-container{margin-left:-30px}}@media (max-width:641px){#start-panel-sub-header{margin-left:0;width:100%}}@media (max-height:630px){.playground-modal{max-height:490px}}@media (max-width:630px){#start-panel-animation-content-container{margin-left:-35px}}@media ((max-width:620px) or (max-height:540px)) or ((max-width:820px) and (max-height:700px)){#start-page-main{display:none}#start-page-small-screen{display:block}}@media (max-width:620px){#start-panel-animation-content-container{margin-left:-45px}#start-page-content{margin-left:20px}}@media (max-width:605px){#start-panel-sub-header{margin-left:-5%;width:109%}}@media (max-width:594px){#start-panel-animation-content-container{margin-left:-50px}}@media (max-height:590px){#start-page-connect-to-popular.start-page-main-details-expanded{height:370px;margin-bottom:0}#start-page-connect-to-popular-navigation-right{padding-right:100px}#start-page-connect-to-popular-navigation-right.start-page-main-details-visible{padding-right:60px}#start-page-connect-to-popular-navigation-right:hover{padding-right:64px}#start-page-connect-to-custom.start-page-main-details-expanded{height:370px}#start-page-connect-to-custom-navigation,#start-page-connect-to-popular>.start-page-connect-to-popular-navigation,#start-page-web-model-navigation{margin-top:15px}#start-page-web-model{width:420px}#start-page-web-model.start-page-main-details-expanded{height:320px}#start-page-web-model-intro{font-size:20px}.start-page-web-model-slide{font-size:21px!important;left:142px}#start-page-web-model>.start-page-web-model-slide-visible{left:92px}#start-page-web-model>.start-page-web-model-slide-visible-out{left:42px}#start-page-create-component.start-page-main-details-expanded{height:290px}#start-page-create-component-next{margin-left:-50px;margin-top:20px}#start-page-create-component-next.start-page-main-details-visible{margin-left:-50px}#start-page-create-component-next:hover{margin-left:-86px}#start-page-title{font-size:29px}.start-page-text{font-size:18px}.start-page-large-text{font-size:19px}.start-page-small-text{font-size:17px}.start-page-logos{left:-4px;margin-top:8px}.start-page-logo{margin-right:9px;transform:scale(.8)}.start-page-navigation{font-size:16px}}@media (max-width:580px){#start-panel-animation-content-container{margin-left:-57px}}@media (max-width:576px){.markdown h1:first-child{--ifm-h1-font-size:2rem}.markdown>h2{--ifm-h2-font-size:1.5rem}.markdown>h3{--ifm-h3-font-size:1.25rem}}@media screen and (max-width:576px){.searchQueryColumn_RTkw{max-width:100%!important}.searchVersionColumn_ypXd{max-width:100%!important;padding-left:var(--ifm-spacing-horizontal)!important}}@media (max-width:575px){.component-key-toggle-button-container,.documentation-example-container,.documentation-video,.tabs-container,h4.anchor{display:none}}@media (max-width:573px){#start-panel-animation-content-container{margin-left:-63px}}@media (max-width:562px){#start-panel-animation-content-container{margin-left:-67px}}@media (max-height:560px){.playground-modal{max-height:420px}}@media (max-width:557px){#start-panel-animation-content-container{display:none}#small-screen-component{display:flex;margin-top:5px}#start-panel-content{left:0;width:100%}#start-panel{min-height:483px}#start-panel-header{margin-bottom:10px}#start-panel-sub-header{margin-bottom:5px;margin-left:4%;width:92%}}@media (max-width:520px){.playground-modal{width:400px!important}}@media (max-width:513px){#small-screen-component{margin-top:10px}#start-panel{min-height:479px}#start-panel-content{top:50%}#footer{padding-left:5px;padding-right:5px}}@media (max-height:500px){#playground-service-modal{margin-top:30px}}@media (max-width:500px){#playground-header-buttons{top:6px}}@media (max-height:490px){.playground-modal{max-height:350px}}@media (max-height:480px){#playground-information-modal{margin-top:30px}}@media (max-height:420px){.playground-modal{max-height:280px}}@media (max-width:415px){#small-screen-component{margin-top:-5px}#start-panel{height:calc(100vh - 121px)!important;min-height:472px}}@media (max-width:410px){#playground-information-modal{padding-left:20px;padding-right:30px}.playground-select>div,.playground-service-modal-input{width:160px}.playground-modal{width:350px!important}}@media (max-width:380px){#playground-information-modal{padding-left:10px;padding-right:20px}}@media (max-width:350px){.playground-select>div,.playground-service-modal-input{width:110px}.playground-modal{width:300px!important}}@media (max-width:348px){#start-panel{min-height:461px}#start-panel-content{top:52%}#start-panel-sub-header{margin-bottom:0}#small-screen-component{margin-top:-10px;transform:scale(.8)}}@media (max-width:314px){#start-buttons{display:grid;text-align:center}.start-button{margin-left:auto;margin-right:auto!important}.start-button:nth-child(2){margin-top:10px}}@media (max-width:286px){#small-screen-component{margin-top:-25px}}@media (max-width:286px) and (max-height:380px){#small-screen-component{display:none}#small-screen-deep-chat-logo{display:block;margin-top:5px}#start-panel{min-height:358px}}@media (max-width:260px){#start-panel{min-height:400px}#start-panel-content{top:46%}#start-panel-sub-header{margin-top:5px}#small-screen-component{display:none}#small-screen-deep-chat-logo{display:block}}@media (max-width:232px){#start-panel{height:calc(100vh - 144px)!important}}@media (hover:hover){.backToTopButton_sjWU:hover{background-color:var(--ifm-color-emphasis-300)}}@media (pointer:fine){.thin-scrollbar{scrollbar-width:thin}.thin-scrollbar::-webkit-scrollbar{height:var(--ifm-scrollbar-size);width:var(--ifm-scrollbar-size)}.thin-scrollbar::-webkit-scrollbar-track{background:var(--ifm-scrollbar-track-background-color);border-radius:10px}.thin-scrollbar::-webkit-scrollbar-thumb{background:var(--ifm-scrollbar-thumb-background-color);border-radius:10px}.thin-scrollbar::-webkit-scrollbar-thumb:hover{background:var(--ifm-scrollbar-thumb-hover-background-color)}}@media (prefers-reduced-motion:reduce){:root{--ifm-transition-fast:0ms;--ifm-transition-slow:0ms}}@media screen and (prefers-reduced-motion:reduce){.DocSearch-Reset{animation:none;appearance:none;background:none;border:0;border-radius:50%;color:var(--docsearch-icon-color);cursor:pointer;right:0;stroke-width:var(--docsearch-icon-stroke-width)}.DocSearch-Hit--deleting,.DocSearch-Hit--favoriting{transition:none}.DocSearch-Hit-action-button:focus,.DocSearch-Hit-action-button:hover{background:#0003;transition:none}}@media print{.announcementBar_mb4j,.footer,.menu,.navbar,.pagination-nav,.table-of-contents,.tocMobile_ITEo{display:none}.tabs{page-break-inside:avoid}.codeBlockLines_e6Vv{white-space:pre-wrap}}
\ No newline at end of file
diff --git a/assets/css/styles.4d5fb625.css b/assets/css/styles.4d5fb625.css
new file mode 100644
index 000000000..9c789ee15
--- /dev/null
+++ b/assets/css/styles.4d5fb625.css
@@ -0,0 +1 @@
+.col,.container{padding:0 var(--ifm-spacing-horizontal);width:100%}.markdown>h2,.markdown>h3,.markdown>h4,.markdown>h5,.markdown>h6{margin-bottom:calc(var(--ifm-heading-vertical-rhythm-bottom)*var(--ifm-leading))}.markdown li,body{word-wrap:break-word}body,ol ol,ol ul,ul ol,ul ul{margin:0}pre,table{overflow:auto}blockquote,pre{margin:0 0 var(--ifm-spacing-vertical)}.breadcrumbs__link,.button{transition-timing-function:var(--ifm-transition-timing-default)}.button,code{vertical-align:middle}.button--outline.button--active,.button--outline:active,.button--outline:hover,:root{--ifm-button-color:var(--ifm-font-color-base-inverse)}.menu__link:hover,a{transition:color var(--ifm-transition-fast) var(--ifm-transition-timing-default)}.navbar--dark,:root{--ifm-navbar-link-hover-color:var(--ifm-color-primary)}.menu,.navbar-sidebar{overflow-x:hidden}:root,html[data-theme=dark]{--ifm-color-emphasis-500:var(--ifm-color-gray-500)}*,.DocSearch-Container,.DocSearch-Container *{box-sizing:border-box}.toggleButton_gllP,html{-webkit-tap-highlight-color:transparent}:root{--ifm-color-scheme:light;--ifm-dark-value:10%;--ifm-darker-value:15%;--ifm-darkest-value:30%;--ifm-light-value:15%;--ifm-lighter-value:30%;--ifm-lightest-value:50%;--ifm-contrast-background-value:90%;--ifm-contrast-foreground-value:70%;--ifm-contrast-background-dark-value:70%;--ifm-contrast-foreground-dark-value:90%;--ifm-color-primary:#3578e5;--ifm-color-secondary:#ebedf0;--ifm-color-success:#00a400;--ifm-color-info:#54c7ec;--ifm-color-warning:#ffba00;--ifm-color-danger:#fa383e;--ifm-color-primary-dark:#306cce;--ifm-color-primary-darker:#2d66c3;--ifm-color-primary-darkest:#2554a0;--ifm-color-primary-light:#538ce9;--ifm-color-primary-lighter:#72a1ed;--ifm-color-primary-lightest:#9abcf2;--ifm-color-primary-contrast-background:#ebf2fc;--ifm-color-primary-contrast-foreground:#102445;--ifm-color-secondary-dark:#d4d5d8;--ifm-color-secondary-darker:#c8c9cc;--ifm-color-secondary-darkest:#a4a6a8;--ifm-color-secondary-light:#eef0f2;--ifm-color-secondary-lighter:#f1f2f5;--ifm-color-secondary-lightest:#f5f6f8;--ifm-color-secondary-contrast-background:#fdfdfe;--ifm-color-secondary-contrast-foreground:#474748;--ifm-color-success-dark:#009400;--ifm-color-success-darker:#008b00;--ifm-color-success-darkest:#007300;--ifm-color-success-light:#26b226;--ifm-color-success-lighter:#4dbf4d;--ifm-color-success-lightest:#80d280;--ifm-color-success-contrast-background:#e6f6e6;--ifm-color-success-contrast-foreground:#003100;--ifm-color-info-dark:#4cb3d4;--ifm-color-info-darker:#47a9c9;--ifm-color-info-darkest:#3b8ba5;--ifm-color-info-light:#6ecfef;--ifm-color-info-lighter:#87d8f2;--ifm-color-info-lightest:#aae3f6;--ifm-color-info-contrast-background:#eef9fd;--ifm-color-info-contrast-foreground:#193c47;--ifm-color-warning-dark:#e6a700;--ifm-color-warning-darker:#d99e00;--ifm-color-warning-darkest:#b38200;--ifm-color-warning-light:#ffc426;--ifm-color-warning-lighter:#ffcf4d;--ifm-color-warning-lightest:#ffdd80;--ifm-color-warning-contrast-background:#fff8e6;--ifm-color-warning-contrast-foreground:#4d3800;--ifm-color-danger-dark:#e13238;--ifm-color-danger-darker:#d53035;--ifm-color-danger-darkest:#af272b;--ifm-color-danger-light:#fb565b;--ifm-color-danger-lighter:#fb7478;--ifm-color-danger-lightest:#fd9c9f;--ifm-color-danger-contrast-background:#ffebec;--ifm-color-danger-contrast-foreground:#4b1113;--ifm-color-white:#fff;--ifm-color-black:#000;--ifm-color-gray-0:var(--ifm-color-white);--ifm-color-gray-100:#f5f6f7;--ifm-color-gray-200:#ebedf0;--ifm-color-gray-300:#dadde1;--ifm-color-gray-400:#ccd0d5;--ifm-color-gray-500:#bec3c9;--ifm-color-gray-600:#8d949e;--ifm-color-gray-700:#606770;--ifm-color-gray-800:#444950;--ifm-color-gray-900:#1c1e21;--ifm-color-gray-1000:var(--ifm-color-black);--ifm-color-emphasis-0:var(--ifm-color-gray-0);--ifm-color-emphasis-100:var(--ifm-color-gray-100);--ifm-color-emphasis-200:var(--ifm-color-gray-200);--ifm-color-emphasis-300:var(--ifm-color-gray-300);--ifm-color-emphasis-400:var(--ifm-color-gray-400);--ifm-color-emphasis-600:var(--ifm-color-gray-600);--ifm-color-emphasis-700:var(--ifm-color-gray-700);--ifm-color-emphasis-800:var(--ifm-color-gray-800);--ifm-color-emphasis-900:var(--ifm-color-gray-900);--ifm-color-emphasis-1000:var(--ifm-color-gray-1000);--ifm-color-content:var(--ifm-color-emphasis-900);--ifm-color-content-inverse:var(--ifm-color-emphasis-0);--ifm-color-content-secondary:#525860;--ifm-background-color:#0000;--ifm-background-surface-color:var(--ifm-color-content-inverse);--ifm-global-border-width:1px;--ifm-global-radius:0.4rem;--ifm-hover-overlay:#0000000d;--ifm-font-color-base:var(--ifm-color-content);--ifm-font-color-base-inverse:var(--ifm-color-content-inverse);--ifm-font-color-secondary:var(--ifm-color-content-secondary);--ifm-font-family-base:system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,Cantarell,Noto Sans,sans-serif,BlinkMacSystemFont,"Segoe UI",Helvetica,Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol";--ifm-font-family-monospace:SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;--ifm-font-size-base:100%;--ifm-font-weight-light:300;--ifm-font-weight-normal:400;--ifm-font-weight-semibold:500;--ifm-font-weight-bold:700;--ifm-font-weight-base:var(--ifm-font-weight-normal);--ifm-line-height-base:1.65;--ifm-global-spacing:1rem;--ifm-spacing-vertical:var(--ifm-global-spacing);--ifm-spacing-horizontal:var(--ifm-global-spacing);--ifm-transition-fast:200ms;--ifm-transition-slow:400ms;--ifm-transition-timing-default:cubic-bezier(0.08,0.52,0.52,1);--ifm-global-shadow-lw:0 1px 2px 0 #0000001a;--ifm-global-shadow-md:0 5px 40px #0003;--ifm-global-shadow-tl:0 12px 28px 0 #0003,0 2px 4px 0 #0000001a;--ifm-z-index-dropdown:100;--ifm-z-index-fixed:200;--ifm-z-index-overlay:400;--ifm-container-width:1140px;--ifm-container-width-xl:1320px;--ifm-code-background:#f6f7f8;--ifm-code-border-radius:var(--ifm-global-radius);--ifm-code-font-size:90%;--ifm-code-padding-horizontal:0.1rem;--ifm-code-padding-vertical:0.1rem;--ifm-pre-background:var(--ifm-code-background);--ifm-pre-border-radius:var(--ifm-code-border-radius);--ifm-pre-color:inherit;--ifm-pre-line-height:1.45;--ifm-pre-padding:1rem;--ifm-heading-color:inherit;--ifm-heading-margin-top:0;--ifm-heading-margin-bottom:var(--ifm-spacing-vertical);--ifm-heading-font-family:var(--ifm-font-family-base);--ifm-heading-font-weight:var(--ifm-font-weight-bold);--ifm-heading-line-height:1.25;--ifm-h1-font-size:2rem;--ifm-h2-font-size:1.5rem;--ifm-h3-font-size:1.25rem;--ifm-h4-font-size:1rem;--ifm-h5-font-size:0.875rem;--ifm-h6-font-size:0.85rem;--ifm-image-alignment-padding:1.25rem;--ifm-leading-desktop:1.25;--ifm-leading:calc(var(--ifm-leading-desktop)*1rem);--ifm-list-left-padding:2rem;--ifm-list-margin:1rem;--ifm-list-item-margin:0.25rem;--ifm-list-paragraph-margin:1rem;--ifm-table-cell-padding:0.75rem;--ifm-table-background:#0000;--ifm-table-stripe-background:#00000008;--ifm-table-border-width:1px;--ifm-table-border-color:var(--ifm-color-emphasis-300);--ifm-table-head-background:inherit;--ifm-table-head-color:inherit;--ifm-table-head-font-weight:var(--ifm-font-weight-bold);--ifm-table-cell-color:inherit;--ifm-link-color:var(--ifm-color-primary);--ifm-link-decoration:none;--ifm-link-hover-color:var(--ifm-link-color);--ifm-link-hover-decoration:underline;--ifm-paragraph-margin-bottom:var(--ifm-leading);--ifm-blockquote-font-size:var(--ifm-font-size-base);--ifm-blockquote-border-left-width:2px;--ifm-blockquote-padding-horizontal:var(--ifm-spacing-horizontal);--ifm-blockquote-padding-vertical:0;--ifm-blockquote-shadow:none;--ifm-blockquote-color:var(--ifm-color-emphasis-800);--ifm-blockquote-border-color:var(--ifm-color-emphasis-300);--ifm-hr-background-color:var(--ifm-color-emphasis-500);--ifm-hr-height:1px;--ifm-hr-margin-vertical:1.5rem;--ifm-scrollbar-size:7px;--ifm-scrollbar-track-background-color:#f1f1f1;--ifm-scrollbar-thumb-background-color:silver;--ifm-scrollbar-thumb-hover-background-color:#a7a7a7;--ifm-alert-background-color:inherit;--ifm-alert-border-color:inherit;--ifm-alert-border-radius:var(--ifm-global-radius);--ifm-alert-border-width:0px;--ifm-alert-border-left-width:5px;--ifm-alert-color:var(--ifm-font-color-base);--ifm-alert-padding-horizontal:var(--ifm-spacing-horizontal);--ifm-alert-padding-vertical:var(--ifm-spacing-vertical);--ifm-alert-shadow:var(--ifm-global-shadow-lw);--ifm-avatar-intro-margin:1rem;--ifm-avatar-intro-alignment:inherit;--ifm-avatar-photo-size:3rem;--ifm-badge-background-color:inherit;--ifm-badge-border-color:inherit;--ifm-badge-border-radius:var(--ifm-global-radius);--ifm-badge-border-width:var(--ifm-global-border-width);--ifm-badge-color:var(--ifm-color-white);--ifm-badge-padding-horizontal:calc(var(--ifm-spacing-horizontal)*0.5);--ifm-badge-padding-vertical:calc(var(--ifm-spacing-vertical)*0.25);--ifm-breadcrumb-border-radius:1.5rem;--ifm-breadcrumb-spacing:0.5rem;--ifm-breadcrumb-color-active:var(--ifm-color-primary);--ifm-breadcrumb-item-background-active:var(--ifm-hover-overlay);--ifm-breadcrumb-padding-horizontal:0.8rem;--ifm-breadcrumb-padding-vertical:0.4rem;--ifm-breadcrumb-size-multiplier:1;--ifm-breadcrumb-separator:url('data:image/svg+xml;utf8,');--ifm-breadcrumb-separator-filter:none;--ifm-breadcrumb-separator-size:0.5rem;--ifm-breadcrumb-separator-size-multiplier:1.25;--ifm-button-background-color:inherit;--ifm-button-border-color:var(--ifm-button-background-color);--ifm-button-border-width:var(--ifm-global-border-width);--ifm-button-font-weight:var(--ifm-font-weight-bold);--ifm-button-padding-horizontal:1.5rem;--ifm-button-padding-vertical:0.375rem;--ifm-button-size-multiplier:1;--ifm-button-transition-duration:var(--ifm-transition-fast);--ifm-button-border-radius:calc(var(--ifm-global-radius)*var(--ifm-button-size-multiplier));--ifm-button-group-spacing:2px;--ifm-card-background-color:var(--ifm-background-surface-color);--ifm-card-border-radius:calc(var(--ifm-global-radius)*2);--ifm-card-horizontal-spacing:var(--ifm-global-spacing);--ifm-card-vertical-spacing:var(--ifm-global-spacing);--ifm-toc-border-color:var(--ifm-color-emphasis-300);--ifm-toc-link-color:var(--ifm-color-content-secondary);--ifm-toc-padding-vertical:0.5rem;--ifm-toc-padding-horizontal:0.5rem;--ifm-dropdown-background-color:var(--ifm-background-surface-color);--ifm-dropdown-font-weight:var(--ifm-font-weight-semibold);--ifm-dropdown-link-color:var(--ifm-font-color-base);--ifm-dropdown-hover-background-color:var(--ifm-hover-overlay);--ifm-footer-background-color:var(--ifm-color-emphasis-100);--ifm-footer-color:inherit;--ifm-footer-link-color:var(--ifm-color-emphasis-700);--ifm-footer-link-hover-color:var(--ifm-color-primary);--ifm-footer-link-horizontal-spacing:0.5rem;--ifm-footer-padding-horizontal:calc(var(--ifm-spacing-horizontal)*2);--ifm-footer-padding-vertical:calc(var(--ifm-spacing-vertical)*2);--ifm-footer-title-color:inherit;--ifm-footer-logo-max-width:min(30rem,90vw);--ifm-hero-background-color:var(--ifm-background-surface-color);--ifm-hero-text-color:var(--ifm-color-emphasis-800);--ifm-menu-color:var(--ifm-color-emphasis-700);--ifm-menu-color-active:var(--ifm-color-primary);--ifm-menu-color-background-active:var(--ifm-hover-overlay);--ifm-menu-color-background-hover:var(--ifm-hover-overlay);--ifm-menu-link-padding-horizontal:0.75rem;--ifm-menu-link-padding-vertical:0.375rem;--ifm-menu-link-sublist-icon:url('data:image/svg+xml;utf8,');--ifm-menu-link-sublist-icon-filter:none;--ifm-navbar-background-color:var(--ifm-background-surface-color);--ifm-navbar-height:3.75rem;--ifm-navbar-item-padding-horizontal:0.75rem;--ifm-navbar-item-padding-vertical:0.25rem;--ifm-navbar-link-color:var(--ifm-font-color-base);--ifm-navbar-link-active-color:var(--ifm-link-color);--ifm-navbar-padding-horizontal:var(--ifm-spacing-horizontal);--ifm-navbar-padding-vertical:calc(var(--ifm-spacing-vertical)*0.5);--ifm-navbar-shadow:var(--ifm-global-shadow-lw);--ifm-navbar-search-input-background-color:var(--ifm-color-emphasis-200);--ifm-navbar-search-input-color:var(--ifm-color-emphasis-800);--ifm-navbar-search-input-placeholder-color:var(--ifm-color-emphasis-500);--ifm-navbar-search-input-icon:url('data:image/svg+xml;utf8,');--ifm-navbar-sidebar-width:83vw;--ifm-pagination-border-radius:var(--ifm-global-radius);--ifm-pagination-color-active:var(--ifm-color-primary);--ifm-pagination-font-size:1rem;--ifm-pagination-item-active-background:var(--ifm-hover-overlay);--ifm-pagination-page-spacing:0.2em;--ifm-pagination-padding-horizontal:calc(var(--ifm-spacing-horizontal)*1);--ifm-pagination-padding-vertical:calc(var(--ifm-spacing-vertical)*0.25);--ifm-pagination-nav-border-radius:var(--ifm-global-radius);--ifm-pagination-nav-color-hover:var(--ifm-color-primary);--ifm-pills-color-active:var(--ifm-color-primary);--ifm-pills-color-background-active:var(--ifm-hover-overlay);--ifm-pills-spacing:0.125rem;--ifm-tabs-color:var(--ifm-font-color-secondary);--ifm-tabs-color-active:var(--ifm-color-primary);--ifm-tabs-color-active-border:var(--ifm-tabs-color-active);--ifm-tabs-padding-horizontal:1rem;--ifm-tabs-padding-vertical:1rem}.badge--danger,.badge--info,.badge--primary,.badge--secondary,.badge--success,.badge--warning{--ifm-badge-border-color:var(--ifm-badge-background-color)}.button--link,.button--outline{--ifm-button-background-color:#0000}html{background-color:var(--ifm-background-color);color:var(--ifm-font-color-base);color-scheme:var(--ifm-color-scheme);font:var(--ifm-font-size-base)/var(--ifm-line-height-base) var(--ifm-font-family-base);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;-webkit-text-size-adjust:100%;text-size-adjust:100%}iframe{border:0;color-scheme:auto}.container{margin:0 auto;max-width:var(--ifm-container-width)}.container--fluid{max-width:inherit}.row{display:flex;flex-wrap:wrap;margin:0 calc(var(--ifm-spacing-horizontal)*-1)}.margin-bottom--none,.margin-vert--none,.markdown>:last-child{margin-bottom:0!important}.margin-top--none,.margin-vert--none,.tabItem_LNqP{margin-top:0!important}.row--no-gutters{margin-left:0;margin-right:0}.margin-horiz--none,.margin-right--none{margin-right:0!important}.row--no-gutters>.col{padding-left:0;padding-right:0}.row--align-top{align-items:flex-start}.row--align-bottom{align-items:flex-end}.menuExternalLink_NmtK,.row--align-center{align-items:center}.row--align-stretch{align-items:stretch}.row--align-baseline{align-items:baseline}.col{--ifm-col-width:100%;flex:1 0;margin-left:0;max-width:var(--ifm-col-width)}.padding-bottom--none,.padding-vert--none{padding-bottom:0!important}.padding-top--none,.padding-vert--none{padding-top:0!important}.padding-horiz--none,.padding-left--none{padding-left:0!important}.padding-horiz--none,.padding-right--none{padding-right:0!important}.col[class*=col--]{flex:0 0 var(--ifm-col-width)}.col--1{--ifm-col-width:8.33333%}.col--offset-1{margin-left:8.33333%}.col--2{--ifm-col-width:16.66667%}.col--offset-2{margin-left:16.66667%}.col--3{--ifm-col-width:25%}.col--offset-3{margin-left:25%}.col--4{--ifm-col-width:33.33333%}.col--offset-4{margin-left:33.33333%}.col--5{--ifm-col-width:41.66667%}.col--offset-5{margin-left:41.66667%}.col--6{--ifm-col-width:50%}.col--offset-6{margin-left:50%}.col--7{--ifm-col-width:58.33333%}.col--offset-7{margin-left:58.33333%}.col--8{--ifm-col-width:66.66667%}.col--offset-8{margin-left:66.66667%}.col--9{--ifm-col-width:75%}.col--offset-9{margin-left:75%}.col--10{--ifm-col-width:83.33333%}.col--offset-10{margin-left:83.33333%}.col--11{--ifm-col-width:91.66667%}.col--offset-11{margin-left:91.66667%}.col--12{--ifm-col-width:100%}.col--offset-12{margin-left:100%}.margin-horiz--none,.margin-left--none{margin-left:0!important}.margin--none{margin:0!important}.margin-bottom--xs,.margin-vert--xs{margin-bottom:.25rem!important}.margin-top--xs,.margin-vert--xs{margin-top:.25rem!important}.margin-horiz--xs,.margin-left--xs{margin-left:.25rem!important}.margin-horiz--xs,.margin-right--xs{margin-right:.25rem!important}.margin--xs{margin:.25rem!important}.margin-bottom--sm,.margin-vert--sm{margin-bottom:.5rem!important}.margin-top--sm,.margin-vert--sm{margin-top:.5rem!important}.margin-horiz--sm,.margin-left--sm{margin-left:.5rem!important}.margin-horiz--sm,.margin-right--sm{margin-right:.5rem!important}.margin--sm{margin:.5rem!important}.margin-bottom--md,.margin-vert--md{margin-bottom:1rem!important}.margin-horiz--md,.margin-left--md{margin-left:1rem!important}.margin-horiz--md,.margin-right--md{margin-right:1rem!important}.margin--md{margin:1rem!important}.margin-vert--md{margin-top:1rem!important}.margin-bottom--lg,.margin-vert--lg{margin-bottom:2rem!important}.margin-top--lg,.margin-vert--lg{margin-top:2rem!important}.margin-horiz--lg,.margin-left--lg{margin-left:2rem!important}.margin-horiz--lg,.margin-right--lg{margin-right:2rem!important}.margin--lg{margin:2rem!important}.margin-bottom--xl,.margin-vert--xl{margin-bottom:5rem!important}.margin-top--xl,.margin-vert--xl{margin-top:5rem!important}.margin-horiz--xl,.margin-left--xl{margin-left:5rem!important}.margin-horiz--xl,.margin-right--xl{margin-right:5rem!important}.margin--xl{margin:5rem!important}.padding--none{padding:0!important}.padding-bottom--xs,.padding-vert--xs{padding-bottom:.25rem!important}.padding-top--xs,.padding-vert--xs{padding-top:.25rem!important}.padding-horiz--xs,.padding-left--xs{padding-left:.25rem!important}.padding-horiz--xs,.padding-right--xs{padding-right:.25rem!important}.padding--xs{padding:.25rem!important}.padding-bottom--sm,.padding-vert--sm{padding-bottom:.5rem!important}.padding-top--sm,.padding-vert--sm{padding-top:.5rem!important}.padding-horiz--sm,.padding-left--sm{padding-left:.5rem!important}.padding-horiz--sm,.padding-right--sm{padding-right:.5rem!important}.padding--sm{padding:.5rem!important}.padding-bottom--md,.padding-vert--md{padding-bottom:1rem!important}.padding-top--md,.padding-vert--md{padding-top:1rem!important}.padding-horiz--md,.padding-left--md{padding-left:1rem!important}.padding-horiz--md,.padding-right--md{padding-right:1rem!important}.padding--md{padding:1rem!important}.padding-bottom--lg,.padding-vert--lg{padding-bottom:2rem!important}.padding-top--lg,.padding-vert--lg{padding-top:2rem!important}.padding-horiz--lg,.padding-left--lg{padding-left:2rem!important}.padding-horiz--lg,.padding-right--lg{padding-right:2rem!important}.padding--lg{padding:2rem!important}.padding-bottom--xl,.padding-vert--xl{padding-bottom:5rem!important}.padding-top--xl,.padding-vert--xl{padding-top:5rem!important}.padding-horiz--xl,.padding-left--xl{padding-left:5rem!important}.padding-horiz--xl,.padding-right--xl{padding-right:5rem!important}.padding--xl{padding:5rem!important}code{background-color:var(--ifm-code-background);border:.1rem solid #0000001a;border-radius:var(--ifm-code-border-radius);font-family:var(--ifm-font-family-monospace);font-size:var(--ifm-code-font-size);padding:var(--ifm-code-padding-vertical) var(--ifm-code-padding-horizontal)}a code{color:inherit}pre{background-color:var(--ifm-pre-background);border-radius:var(--ifm-pre-border-radius);color:var(--ifm-pre-color);font:var(--ifm-code-font-size)/var(--ifm-pre-line-height) var(--ifm-font-family-monospace);padding:var(--ifm-pre-padding)}pre code{background-color:initial;border:none;font-size:100%;line-height:inherit;padding:0}kbd{background-color:var(--ifm-color-emphasis-0);border:1px solid var(--ifm-color-emphasis-400);border-radius:.2rem;box-shadow:inset 0 -1px 0 var(--ifm-color-emphasis-400);color:var(--ifm-color-emphasis-800);font:80% var(--ifm-font-family-monospace);padding:.15rem .3rem}h1,h2,h3,h4,h5,h6{color:var(--ifm-heading-color);font-family:var(--ifm-heading-font-family);font-weight:var(--ifm-heading-font-weight);line-height:var(--ifm-heading-line-height);margin:var(--ifm-heading-margin-top) 0 var(--ifm-heading-margin-bottom) 0}h1{font-size:var(--ifm-h1-font-size)}h2{font-size:var(--ifm-h2-font-size)}h3{font-size:var(--ifm-h3-font-size)}h4{font-size:var(--ifm-h4-font-size)}h5{font-size:var(--ifm-h5-font-size)}h6{font-size:var(--ifm-h6-font-size)}img{max-width:100%}img[align=right]{padding-left:var(--image-alignment-padding)}img[align=left]{padding-right:var(--image-alignment-padding)}.markdown{--ifm-h1-vertical-rhythm-top:3;--ifm-h2-vertical-rhythm-top:2;--ifm-h3-vertical-rhythm-top:1.5;--ifm-heading-vertical-rhythm-top:1.25;--ifm-h1-vertical-rhythm-bottom:1.25;--ifm-heading-vertical-rhythm-bottom:1}.markdown:after,.markdown:before{content:"";display:table}.markdown:after{clear:both}.markdown h1:first-child{--ifm-h1-font-size:3rem;margin-bottom:calc(var(--ifm-h1-vertical-rhythm-bottom)*var(--ifm-leading))}.markdown>h2{--ifm-h2-font-size:2rem;margin-top:calc(var(--ifm-h2-vertical-rhythm-top)*var(--ifm-leading));font-family:sans-serif;letter-spacing:-.9px}.markdown>h3{--ifm-h3-font-size:1.5rem;margin-top:calc(var(--ifm-h3-vertical-rhythm-top)*var(--ifm-leading))}.markdown>h4,.markdown>h5,.markdown>h6{margin-top:calc(var(--ifm-heading-vertical-rhythm-top)*var(--ifm-leading))}.markdown>p,.markdown>pre,.markdown>ul,.tabList__CuJ{margin-bottom:var(--ifm-leading)}.markdown li>p{margin-top:var(--ifm-list-paragraph-margin)}.markdown li+li{margin-top:var(--ifm-list-item-margin)}ol,ul{margin:0 0 var(--ifm-list-margin);padding-left:var(--ifm-list-left-padding)}ol ol,ul ol{list-style-type:lower-roman}ol ol ol,ol ul ol,ul ol ol,ul ul ol{list-style-type:lower-alpha}table{border-collapse:collapse;display:block;margin-bottom:var(--ifm-spacing-vertical)}table thead tr{border-bottom:2px solid var(--ifm-table-border-color)}table thead,table tr:nth-child(2n){background-color:var(--ifm-table-stripe-background)}table tr{background-color:var(--ifm-table-background);border-top:var(--ifm-table-border-width) solid var(--ifm-table-border-color)}table td,table th{border:var(--ifm-table-border-width) solid var(--ifm-table-border-color);padding:var(--ifm-table-cell-padding)}table th{background-color:var(--ifm-table-head-background);color:var(--ifm-table-head-color);font-weight:var(--ifm-table-head-font-weight)}table td{color:var(--ifm-table-cell-color)}strong{font-weight:var(--ifm-font-weight-bold)}a{color:var(--ifm-link-color);text-decoration:var(--ifm-link-decoration)}a:hover{color:var(--ifm-link-hover-color);text-decoration:var(--ifm-link-hover-decoration)}.button:hover,.text--no-decoration,.text--no-decoration:hover,a:not([href]){text-decoration:none}p{margin:0 0 var(--ifm-paragraph-margin-bottom)}blockquote{border-left:var(--ifm-blockquote-border-left-width) solid var(--ifm-blockquote-border-color);box-shadow:var(--ifm-blockquote-shadow);color:var(--ifm-blockquote-color);font-size:var(--ifm-blockquote-font-size);padding:var(--ifm-blockquote-padding-vertical) var(--ifm-blockquote-padding-horizontal)}blockquote>:first-child{margin-top:0}blockquote>:last-child{margin-bottom:0}hr{background-color:var(--ifm-hr-background-color);border:0;height:var(--ifm-hr-height);margin:var(--ifm-hr-margin-vertical) 0}.shadow--lw{box-shadow:var(--ifm-global-shadow-lw)!important}.shadow--md{box-shadow:var(--ifm-global-shadow-md)!important}.shadow--tl{box-shadow:var(--ifm-global-shadow-tl)!important}.text--primary,.wordWrapButtonEnabled_EoeP .wordWrapButtonIcon_Bwma{color:var(--ifm-color-primary)}.text--secondary{color:var(--ifm-color-secondary)}.text--success{color:var(--ifm-color-success)}.text--info{color:var(--ifm-color-info)}.text--warning{color:var(--ifm-color-warning)}.text--danger{color:var(--ifm-color-danger)}.text--center{text-align:center}.text--left{text-align:left}.text--justify{text-align:justify}.text--right{text-align:right}.text--capitalize{text-transform:capitalize}.text--lowercase{text-transform:lowercase}.admonitionHeading_Gvgb,.alert__heading,.text--uppercase{text-transform:uppercase}.text--light{font-weight:var(--ifm-font-weight-light)}.text--normal{font-weight:var(--ifm-font-weight-normal)}.text--semibold{font-weight:var(--ifm-font-weight-semibold)}.text--bold{font-weight:var(--ifm-font-weight-bold)}.text--italic{font-style:italic}.text--truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.text--break{word-wrap:break-word!important;word-break:break-word!important}.clean-btn{background:none;border:none;color:inherit;cursor:pointer;font-family:inherit;padding:0}.alert,.alert .close{color:var(--ifm-alert-foreground-color)}.clean-list{list-style:none;padding-left:0}.alert--primary{--ifm-alert-background-color:var(--ifm-color-primary-contrast-background);--ifm-alert-background-color-highlight:#3578e526;--ifm-alert-foreground-color:var(--ifm-color-primary-contrast-foreground);--ifm-alert-border-color:var(--ifm-color-primary-dark)}.alert--secondary{--ifm-alert-background-color:var(--ifm-color-secondary-contrast-background);--ifm-alert-background-color-highlight:#ebedf026;--ifm-alert-foreground-color:var(--ifm-color-secondary-contrast-foreground);--ifm-alert-border-color:var(--ifm-color-secondary-dark)}.alert--success{--ifm-alert-background-color:var(--ifm-color-success-contrast-background);--ifm-alert-background-color-highlight:#00a40026;--ifm-alert-foreground-color:var(--ifm-color-success-contrast-foreground);--ifm-alert-border-color:var(--ifm-color-success-dark)}.alert--info{--ifm-alert-background-color:var(--ifm-color-info-contrast-background);--ifm-alert-background-color-highlight:#54c7ec26;--ifm-alert-foreground-color:var(--ifm-color-info-contrast-foreground);--ifm-alert-border-color:var(--ifm-color-info-dark)}.alert--warning{--ifm-alert-background-color:var(--ifm-color-warning-contrast-background);--ifm-alert-background-color-highlight:#ffba0026;--ifm-alert-foreground-color:var(--ifm-color-warning-contrast-foreground);--ifm-alert-border-color:var(--ifm-color-warning-dark)}.alert--danger{--ifm-alert-background-color:var(--ifm-color-danger-contrast-background);--ifm-alert-background-color-highlight:#fa383e26;--ifm-alert-foreground-color:var(--ifm-color-danger-contrast-foreground);--ifm-alert-border-color:var(--ifm-color-danger-dark)}.alert{--ifm-code-background:var(--ifm-alert-background-color-highlight);--ifm-link-color:var(--ifm-alert-foreground-color);--ifm-link-hover-color:var(--ifm-alert-foreground-color);--ifm-link-decoration:underline;--ifm-tabs-color:var(--ifm-alert-foreground-color);--ifm-tabs-color-active:var(--ifm-alert-foreground-color);--ifm-tabs-color-active-border:var(--ifm-alert-border-color);background-color:var(--ifm-alert-background-color);border:var(--ifm-alert-border-width) solid var(--ifm-alert-border-color);border-left-width:var(--ifm-alert-border-left-width);border-radius:var(--ifm-alert-border-radius);box-shadow:var(--ifm-alert-shadow);padding:var(--ifm-alert-padding-vertical) var(--ifm-alert-padding-horizontal)}.alert__heading{align-items:center;display:flex;font:700 var(--ifm-h5-font-size)/var(--ifm-heading-line-height) var(--ifm-heading-font-family);margin-bottom:.5rem}.alert__icon{display:inline-flex;margin-right:.4em}.alert__icon svg{fill:var(--ifm-alert-foreground-color);stroke:var(--ifm-alert-foreground-color);stroke-width:0}.alert .close{margin:calc(var(--ifm-alert-padding-vertical)*-1) calc(var(--ifm-alert-padding-horizontal)*-1) 0 0;opacity:.75}.alert .close:focus,.alert .close:hover{opacity:1}.alert a{text-decoration-color:var(--ifm-alert-border-color)}.alert a:hover{text-decoration-thickness:2px}.avatar{column-gap:var(--ifm-avatar-intro-margin);display:flex}.avatar__photo{border-radius:50%;display:block;height:var(--ifm-avatar-photo-size);overflow:hidden;width:var(--ifm-avatar-photo-size)}.card--full-height,.navbar__logo img,body,html{height:100%}.avatar__photo--sm{--ifm-avatar-photo-size:2rem}.avatar__photo--lg{--ifm-avatar-photo-size:4rem}.avatar__photo--xl{--ifm-avatar-photo-size:6rem}.avatar__intro{display:flex;flex:1 1;flex-direction:column;justify-content:center;text-align:var(--ifm-avatar-intro-alignment)}.badge,.breadcrumbs__item,.breadcrumbs__link,.button,.dropdown>.navbar__link:after{display:inline-block}.avatar__name{font:700 var(--ifm-h4-font-size)/var(--ifm-heading-line-height) var(--ifm-font-family-base)}.avatar__subtitle{margin-top:.25rem}.avatar--vertical{--ifm-avatar-intro-alignment:center;--ifm-avatar-intro-margin:0.5rem;align-items:center;flex-direction:column}.badge{background-color:var(--ifm-badge-background-color);border:var(--ifm-badge-border-width) solid var(--ifm-badge-border-color);border-radius:var(--ifm-badge-border-radius);color:var(--ifm-badge-color);font-size:75%;font-weight:var(--ifm-font-weight-bold);line-height:1;padding:var(--ifm-badge-padding-vertical) var(--ifm-badge-padding-horizontal)}.badge--primary{--ifm-badge-background-color:var(--ifm-color-primary)}.badge--secondary{--ifm-badge-background-color:var(--ifm-color-secondary);color:var(--ifm-color-black)}.breadcrumbs__link,.button.button--secondary.button--outline:not(.button--active):not(:hover){color:var(--ifm-font-color-base)}.badge--success{--ifm-badge-background-color:var(--ifm-color-success)}.badge--info{--ifm-badge-background-color:var(--ifm-color-info)}.badge--warning{--ifm-badge-background-color:var(--ifm-color-warning)}.badge--danger{--ifm-badge-background-color:var(--ifm-color-danger)}.breadcrumbs{margin-bottom:0;padding-left:0}.breadcrumbs__item:not(:last-child):after{background:var(--ifm-breadcrumb-separator) center;content:" ";display:inline-block;filter:var(--ifm-breadcrumb-separator-filter);height:calc(var(--ifm-breadcrumb-separator-size)*var(--ifm-breadcrumb-size-multiplier)*var(--ifm-breadcrumb-separator-size-multiplier));margin:0 var(--ifm-breadcrumb-spacing);opacity:.5;width:calc(var(--ifm-breadcrumb-separator-size)*var(--ifm-breadcrumb-size-multiplier)*var(--ifm-breadcrumb-separator-size-multiplier))}.breadcrumbs__item--active .breadcrumbs__link{background:var(--ifm-breadcrumb-item-background-active);color:var(--ifm-breadcrumb-color-active)}.breadcrumbs__link{border-radius:var(--ifm-breadcrumb-border-radius);font-size:calc(1rem*var(--ifm-breadcrumb-size-multiplier));padding:calc(var(--ifm-breadcrumb-padding-vertical)*var(--ifm-breadcrumb-size-multiplier)) calc(var(--ifm-breadcrumb-padding-horizontal)*var(--ifm-breadcrumb-size-multiplier));transition-duration:var(--ifm-transition-fast);transition-property:background,color}.breadcrumbs__link:any-link:hover,.breadcrumbs__link:link:hover,.breadcrumbs__link:visited:hover,area[href].breadcrumbs__link:hover{background:var(--ifm-breadcrumb-item-background-active);text-decoration:none}.breadcrumbs--sm{--ifm-breadcrumb-size-multiplier:0.8}.breadcrumbs--lg{--ifm-breadcrumb-size-multiplier:1.2}.button{background-color:var(--ifm-button-background-color);border:var(--ifm-button-border-width) solid var(--ifm-button-border-color);border-radius:var(--ifm-button-border-radius);cursor:pointer;font-size:calc(.875rem*var(--ifm-button-size-multiplier));font-weight:var(--ifm-button-font-weight);line-height:1.5;padding:calc(var(--ifm-button-padding-vertical)*var(--ifm-button-size-multiplier)) calc(var(--ifm-button-padding-horizontal)*var(--ifm-button-size-multiplier));text-align:center;transition-duration:var(--ifm-button-transition-duration);transition-property:color,background,border-color;-webkit-user-select:none;user-select:none;white-space:nowrap}.button,.button:hover{color:var(--ifm-button-color)}.button--outline{--ifm-button-color:var(--ifm-button-border-color)}.button--outline:hover{--ifm-button-background-color:var(--ifm-button-border-color)}.button--link{--ifm-button-border-color:#0000;color:var(--ifm-link-color);text-decoration:var(--ifm-link-decoration)}.button--link.button--active,.button--link:active,.button--link:hover{color:var(--ifm-link-hover-color);text-decoration:var(--ifm-link-hover-decoration)}.button.disabled,.button:disabled,.button[disabled]{opacity:.65;pointer-events:none}.button--sm{--ifm-button-size-multiplier:0.8}.button--lg{--ifm-button-size-multiplier:1.35}.button--block{display:block;width:100%}.button.button--secondary{color:var(--ifm-color-gray-900)}:where(.button--primary){--ifm-button-background-color:var(--ifm-color-primary);--ifm-button-border-color:var(--ifm-color-primary)}:where(.button--primary):not(.button--outline):hover{--ifm-button-background-color:var(--ifm-color-primary-dark);--ifm-button-border-color:var(--ifm-color-primary-dark)}.button--primary.button--active,.button--primary:active{--ifm-button-background-color:var(--ifm-color-primary-darker);--ifm-button-border-color:var(--ifm-color-primary-darker)}:where(.button--secondary){--ifm-button-background-color:var(--ifm-color-secondary);--ifm-button-border-color:var(--ifm-color-secondary)}:where(.button--secondary):not(.button--outline):hover{--ifm-button-background-color:var(--ifm-color-secondary-dark);--ifm-button-border-color:var(--ifm-color-secondary-dark)}.button--secondary.button--active,.button--secondary:active{--ifm-button-background-color:var(--ifm-color-secondary-darker);--ifm-button-border-color:var(--ifm-color-secondary-darker)}:where(.button--success){--ifm-button-background-color:var(--ifm-color-success);--ifm-button-border-color:var(--ifm-color-success)}:where(.button--success):not(.button--outline):hover{--ifm-button-background-color:var(--ifm-color-success-dark);--ifm-button-border-color:var(--ifm-color-success-dark)}.button--success.button--active,.button--success:active{--ifm-button-background-color:var(--ifm-color-success-darker);--ifm-button-border-color:var(--ifm-color-success-darker)}:where(.button--info){--ifm-button-background-color:var(--ifm-color-info);--ifm-button-border-color:var(--ifm-color-info)}:where(.button--info):not(.button--outline):hover{--ifm-button-background-color:var(--ifm-color-info-dark);--ifm-button-border-color:var(--ifm-color-info-dark)}.button--info.button--active,.button--info:active{--ifm-button-background-color:var(--ifm-color-info-darker);--ifm-button-border-color:var(--ifm-color-info-darker)}:where(.button--warning){--ifm-button-background-color:var(--ifm-color-warning);--ifm-button-border-color:var(--ifm-color-warning)}:where(.button--warning):not(.button--outline):hover{--ifm-button-background-color:var(--ifm-color-warning-dark);--ifm-button-border-color:var(--ifm-color-warning-dark)}.button--warning.button--active,.button--warning:active{--ifm-button-background-color:var(--ifm-color-warning-darker);--ifm-button-border-color:var(--ifm-color-warning-darker)}:where(.button--danger){--ifm-button-background-color:var(--ifm-color-danger);--ifm-button-border-color:var(--ifm-color-danger)}:where(.button--danger):not(.button--outline):hover{--ifm-button-background-color:var(--ifm-color-danger-dark);--ifm-button-border-color:var(--ifm-color-danger-dark)}.button--danger.button--active,.button--danger:active{--ifm-button-background-color:var(--ifm-color-danger-darker);--ifm-button-border-color:var(--ifm-color-danger-darker)}.button-group{display:inline-flex;gap:var(--ifm-button-group-spacing)}.button-group>.button:not(:first-child){border-bottom-left-radius:0;border-top-left-radius:0}.button-group>.button:not(:last-child){border-bottom-right-radius:0;border-top-right-radius:0}.button-group--block{display:flex;justify-content:stretch}.button-group--block>.button{flex-grow:1}.card{background-color:var(--ifm-card-background-color);border-radius:var(--ifm-card-border-radius);box-shadow:var(--ifm-global-shadow-lw);display:flex;flex-direction:column;overflow:hidden}.card__image{padding-top:var(--ifm-card-vertical-spacing)}.card__image:first-child{padding-top:0}.card__body,.card__footer,.card__header{padding:var(--ifm-card-vertical-spacing) var(--ifm-card-horizontal-spacing)}.card__body:not(:last-child),.card__footer:not(:last-child),.card__header:not(:last-child){padding-bottom:0}.card__body>:last-child,.card__footer>:last-child,.card__header>:last-child{margin-bottom:0}.card__footer{margin-top:auto}.table-of-contents{font-size:.8rem;margin-bottom:0;padding:var(--ifm-toc-padding-vertical) 0}.table-of-contents,.table-of-contents ul{list-style:none;padding-left:var(--ifm-toc-padding-horizontal)}.table-of-contents li{margin:var(--ifm-toc-padding-vertical) var(--ifm-toc-padding-horizontal)}.table-of-contents__left-border{border-left:1px solid var(--ifm-toc-border-color)}.table-of-contents__link{color:var(--ifm-toc-link-color);display:block}.table-of-contents__link--active,.table-of-contents__link--active code,.table-of-contents__link:hover,.table-of-contents__link:hover code{color:var(--ifm-color-primary);text-decoration:none}.close{color:var(--ifm-color-black);float:right;font-size:1.5rem;font-weight:var(--ifm-font-weight-bold);line-height:1;opacity:.5;padding:1rem;transition:opacity var(--ifm-transition-fast) var(--ifm-transition-timing-default)}.close:hover{opacity:.7}.close:focus,.theme-code-block-highlighted-line .codeLineNumber_Tfdd:before{opacity:.8}.dropdown{display:inline-flex;font-weight:var(--ifm-dropdown-font-weight);position:relative;vertical-align:top}.dropdown--hoverable:hover .dropdown__menu,.dropdown--show .dropdown__menu{opacity:1;pointer-events:all;transform:translateY(-1px);visibility:visible}#nprogress,.dropdown__menu,.navbar__item.dropdown .navbar__link:not([href]),.start-page-main-no-pointer-events{pointer-events:none}.dropdown--right .dropdown__menu{left:inherit;right:0}.dropdown--nocaret .navbar__link:after{content:none!important}.dropdown__menu{background-color:var(--ifm-dropdown-background-color);border-radius:var(--ifm-global-radius);box-shadow:var(--ifm-global-shadow-md);left:0;list-style:none;max-height:80vh;min-width:10rem;opacity:0;overflow-y:auto;padding:.5rem;position:absolute;top:calc(100% - var(--ifm-navbar-item-padding-vertical) + .3rem);transform:translateY(-.625rem);transition-duration:var(--ifm-transition-fast);transition-property:opacity,transform,visibility;transition-timing-function:var(--ifm-transition-timing-default);visibility:hidden;z-index:var(--ifm-z-index-dropdown)}.menu__caret,.menu__link,.menu__list-item-collapsible{border-radius:.25rem;transition:background var(--ifm-transition-fast) var(--ifm-transition-timing-default)}.dropdown__link{border-radius:.25rem;color:var(--ifm-dropdown-link-color);display:block;font-size:.875rem;margin-top:.2rem;padding:.25rem .5rem;white-space:nowrap}.dropdown__link--active,.dropdown__link:hover{background-color:var(--ifm-dropdown-hover-background-color);color:var(--ifm-dropdown-link-color);text-decoration:none}.dropdown__link--active,.dropdown__link--active:hover{--ifm-dropdown-link-color:var(--ifm-link-color)}.dropdown>.navbar__link:after{border-color:currentcolor #0000;border-style:solid;border-width:.4em .4em 0;content:"";margin-left:.3em;position:relative;top:2px;transform:translateY(-50%)}.footer{background-color:var(--ifm-footer-background-color);color:var(--ifm-footer-color);padding:var(--ifm-footer-padding-vertical) var(--ifm-footer-padding-horizontal)}.footer--dark{--ifm-footer-background-color:#303846;--ifm-footer-color:var(--ifm-footer-link-color);--ifm-footer-link-color:var(--ifm-color-secondary);--ifm-footer-title-color:var(--ifm-color-white)}.footer__links{margin-bottom:1rem}.footer__link-item{color:var(--ifm-footer-link-color);line-height:2}.footer__link-item:hover{color:var(--ifm-footer-link-hover-color)}.footer__link-separator{margin:0 var(--ifm-footer-link-horizontal-spacing)}.footer__logo{margin-top:1rem;max-width:var(--ifm-footer-logo-max-width)}.footer__title{color:var(--ifm-footer-title-color);font:700 var(--ifm-h4-font-size)/var(--ifm-heading-line-height) var(--ifm-font-family-base);margin-bottom:var(--ifm-heading-margin-bottom)}.menu,.navbar__link{font-weight:var(--ifm-font-weight-semibold)}.docItemContainer_Djhp article>:first-child,.docItemContainer_Djhp header+*,.footer__item{margin-top:0}.admonitionContent_BuS1>:last-child,.collapsibleContent_i85q p:last-child,.details_lb9f>summary>p:last-child,.footer__items,.tabItem_Ymn6>:last-child{margin-bottom:0}.codeBlockStandalone_MEMb,[type=checkbox]{padding:0}.hero{align-items:center;background-color:var(--ifm-hero-background-color);color:var(--ifm-hero-text-color);display:flex;padding:4rem 2rem}.hero--primary{--ifm-hero-background-color:var(--ifm-color-primary);--ifm-hero-text-color:var(--ifm-font-color-base-inverse)}.hero--dark{--ifm-hero-background-color:#303846;--ifm-hero-text-color:var(--ifm-color-white)}.hero__title{font-size:3rem}.hero__subtitle{font-size:1.5rem}.menu__list{list-style:none;margin:0;padding-left:0}.menu__caret,.menu__link{padding:var(--ifm-menu-link-padding-vertical) var(--ifm-menu-link-padding-horizontal)}.menu__list .menu__list{flex:0 0 100%;margin-top:.25rem;padding-left:var(--ifm-menu-link-padding-horizontal)}.menu__list-item:not(:first-child){margin-top:.25rem}.menu__list-item--collapsed .menu__list{height:0;overflow:hidden}.details_lb9f[data-collapsed=false].isBrowser_bmU9>summary:before,.details_lb9f[open]:not(.isBrowser_bmU9)>summary:before,.menu__list-item--collapsed .menu__caret:before,.menu__list-item--collapsed .menu__link--sublist:after{transform:rotate(90deg)}.menu__list-item-collapsible{display:flex;flex-wrap:wrap;position:relative}.menu__caret:hover,.menu__link:hover,.menu__list-item-collapsible--active,.menu__list-item-collapsible:hover{background:var(--ifm-menu-color-background-hover)}.menu__list-item-collapsible .menu__link--active,.menu__list-item-collapsible .menu__link:hover{background:none!important}.menu__caret,.menu__link{align-items:center;display:flex}.navbar-sidebar,.navbar-sidebar__backdrop{bottom:0;opacity:0;transition-duration:var(--ifm-transition-fast);transition-timing-function:ease-in-out;top:0;left:0;visibility:hidden}.menu__link{color:var(--ifm-menu-color);flex:1;line-height:1.25}.menu__link:hover{color:var(--ifm-menu-color);text-decoration:none}.menu__caret:before,.menu__link--sublist-caret:after{filter:var(--ifm-menu-link-sublist-icon-filter);height:1.25rem;transform:rotate(180deg);transition:transform var(--ifm-transition-fast) linear;width:1.25rem;content:""}.menu__link--sublist-caret:after{background:var(--ifm-menu-link-sublist-icon) 50%/2rem 2rem;margin-left:auto;min-width:1.25rem}.menu__link--active,.menu__link--active:hover{color:var(--ifm-menu-color-active)}.navbar__brand,.navbar__link{color:var(--ifm-navbar-link-color)}.menu__link--active:not(.menu__link--sublist){background-color:var(--ifm-menu-color-background-active)}.menu__caret:before{background:var(--ifm-menu-link-sublist-icon) 50%/2rem 2rem}.navbar--dark,html[data-theme=dark]{--ifm-menu-link-sublist-icon-filter:invert(100%) sepia(94%) saturate(17%) hue-rotate(223deg) brightness(104%) contrast(98%)}.navbar{background-color:var(--ifm-navbar-background-color);box-shadow:var(--ifm-navbar-shadow);height:var(--ifm-navbar-height);padding:var(--ifm-navbar-padding-vertical) var(--ifm-navbar-padding-horizontal)}#speech-right-panel,.navbar,.navbar>.container,.navbar>.container-fluid,.playground-information-modal-item{display:flex}.navbar--fixed-top{position:sticky;top:0;z-index:var(--ifm-z-index-fixed)}.navbar__inner{display:flex;flex-wrap:wrap;justify-content:space-between;width:100%}.navbar__brand{align-items:center;display:flex;margin-right:1rem;min-width:0}.navbar__brand:hover{color:var(--ifm-navbar-link-hover-color);text-decoration:none}.announcementBarContent_xLdY,.navbar__title{flex:1 1 auto}.navbar__toggle{display:none;margin-right:.5rem}.navbar__logo{flex:0 0 auto;height:2rem;margin-right:.5rem}.navbar__items{align-items:center;display:flex;flex:1;min-width:0}.navbar__items--center{flex:0 0 auto}.navbar__items--center .navbar__brand{margin:0}.navbar__items--center+.navbar__items--right{flex:1}.navbar__items--right{flex:0 0 auto;justify-content:flex-end}.navbar__items--right>:last-child{padding-right:0}.navbar__item{display:inline-block;padding:var(--ifm-navbar-item-padding-vertical) var(--ifm-navbar-item-padding-horizontal)}.navbar__link--active,.navbar__link:hover{color:var(--ifm-navbar-link-hover-color);text-decoration:none}.navbar--dark,.navbar--primary{--ifm-menu-color:var(--ifm-color-gray-300);--ifm-navbar-link-color:var(--ifm-color-gray-100);--ifm-navbar-search-input-background-color:#ffffff1a;--ifm-navbar-search-input-placeholder-color:#ffffff80;color:var(--ifm-color-white)}.navbar--dark{--ifm-navbar-background-color:#242526;--ifm-menu-color-background-active:#ffffff0d;--ifm-navbar-search-input-color:var(--ifm-color-white)}.navbar--primary{--ifm-navbar-background-color:var(--ifm-color-primary);--ifm-navbar-link-hover-color:var(--ifm-color-white);--ifm-menu-color-active:var(--ifm-color-white);--ifm-navbar-search-input-color:var(--ifm-color-emphasis-500)}.navbar__search-input{appearance:none;background:var(--ifm-navbar-search-input-background-color) var(--ifm-navbar-search-input-icon) no-repeat .75rem center/1rem 1rem;border:none;border-radius:2rem;color:var(--ifm-navbar-search-input-color);cursor:text;display:inline-block;font-size:1rem;height:2rem;padding:0 .5rem 0 2.25rem;width:12.5rem}.navbar__search-input::placeholder{color:var(--ifm-navbar-search-input-placeholder-color)}.navbar-sidebar{background-color:var(--ifm-navbar-background-color);box-shadow:var(--ifm-global-shadow-md);position:fixed;transform:translate3d(-100%,0,0);transition-property:opacity,visibility,transform;width:var(--ifm-navbar-sidebar-width)}.navbar-sidebar--show .navbar-sidebar,.navbar-sidebar__items{transform:translateZ(0)}.navbar-sidebar--show .navbar-sidebar,.navbar-sidebar--show .navbar-sidebar__backdrop{opacity:1;visibility:visible}.navbar-sidebar__backdrop{background-color:#0009;position:fixed;right:0;transition-property:opacity,visibility}.navbar-sidebar__brand{align-items:center;box-shadow:var(--ifm-navbar-shadow);display:flex;flex:1;height:var(--ifm-navbar-height);padding:var(--ifm-navbar-padding-vertical) var(--ifm-navbar-padding-horizontal)}.navbar-sidebar__items{display:flex;height:calc(100% - var(--ifm-navbar-height));transition:transform var(--ifm-transition-fast) ease-in-out}.navbar-sidebar__items--show-secondary{transform:translate3d(calc((var(--ifm-navbar-sidebar-width))*-1),0,0)}.navbar-sidebar__item{flex-shrink:0;padding:.5rem;width:calc(var(--ifm-navbar-sidebar-width))}.navbar-sidebar__back{background:var(--ifm-menu-color-background-active);font-size:15px;font-weight:var(--ifm-button-font-weight);margin:0 0 .2rem -.5rem;padding:.6rem 1.5rem;position:relative;text-align:left;top:-.5rem;width:calc(100% + 1rem)}.navbar-sidebar__close{display:flex;margin-left:auto}.pagination{column-gap:var(--ifm-pagination-page-spacing);display:flex;font-size:var(--ifm-pagination-font-size);padding-left:0}.pagination--sm{--ifm-pagination-font-size:0.8rem;--ifm-pagination-padding-horizontal:0.8rem;--ifm-pagination-padding-vertical:0.2rem}.pagination--lg{--ifm-pagination-font-size:1.2rem;--ifm-pagination-padding-horizontal:1.2rem;--ifm-pagination-padding-vertical:0.3rem}.pagination__item{display:inline-flex}.pagination__item>span{padding:var(--ifm-pagination-padding-vertical)}.pagination__item--active .pagination__link{color:var(--ifm-pagination-color-active)}.pagination__item--active .pagination__link,.pagination__item:not(.pagination__item--active):hover .pagination__link{background:var(--ifm-pagination-item-active-background)}.pagination__item--disabled,.pagination__item[disabled]{opacity:.25;pointer-events:none}.pagination__link{border-radius:var(--ifm-pagination-border-radius);color:var(--ifm-font-color-base);display:inline-block;padding:var(--ifm-pagination-padding-vertical) var(--ifm-pagination-padding-horizontal);transition:background var(--ifm-transition-fast) var(--ifm-transition-timing-default)}.pagination__link:hover{text-decoration:none}.pagination-nav{display:grid;grid-gap:var(--ifm-spacing-horizontal);gap:var(--ifm-spacing-horizontal);grid-template-columns:repeat(2,1fr)}.pagination-nav__link{border:1px solid var(--ifm-color-emphasis-300);border-radius:var(--ifm-pagination-nav-border-radius);display:block;height:100%;line-height:var(--ifm-heading-line-height);padding:var(--ifm-global-spacing);transition:border-color var(--ifm-transition-fast) var(--ifm-transition-timing-default)}.pagination-nav__link:hover{border-color:var(--ifm-pagination-nav-color-hover);text-decoration:none}.pagination-nav__link--next{grid-column:2/3;text-align:right}.pagination-nav__label{font-size:var(--ifm-h4-font-size);font-weight:var(--ifm-heading-font-weight);word-break:break-word}.pagination-nav__link--prev .pagination-nav__label:before{content:"« "}.pagination-nav__link--next .pagination-nav__label:after{content:" »"}.pagination-nav__sublabel{color:var(--ifm-color-content-secondary);font-size:var(--ifm-h5-font-size);font-weight:var(--ifm-font-weight-semibold);margin-bottom:.25rem}.pills__item,.tabs{font-weight:var(--ifm-font-weight-bold)}.pills{display:flex;gap:var(--ifm-pills-spacing);padding-left:0}.pills__item{border-radius:.5rem;cursor:pointer;display:inline-block;padding:.25rem 1rem;transition:background var(--ifm-transition-fast) var(--ifm-transition-timing-default)}#start-page-connect-to-custom-navigation.start-page-main-details-visible,#start-page-connect-to-popular-navigation-left.start-page-main-details-visible,#start-page-web-model-navigation.start-page-main-details-visible,.tabs,:not(.containsTaskList_mC6p>li)>.containsTaskList_mC6p{padding-left:0}.pills__item--active{color:var(--ifm-pills-color-active)}.pills__item--active,.pills__item:not(.pills__item--active):hover{background:var(--ifm-pills-color-background-active)}.pills--block{justify-content:stretch}.pills--block .pills__item{flex-grow:1;text-align:center}.tabs{color:var(--ifm-tabs-color);display:flex;margin-bottom:0;overflow-x:auto}#playground-information-modal-title,.code-toggle{font-weight:600}.tabs__item{border-bottom:3px solid #0000;border-radius:var(--ifm-global-radius);cursor:pointer;display:inline-flex;padding:var(--ifm-tabs-padding-vertical) var(--ifm-tabs-padding-horizontal);transition:background-color var(--ifm-transition-fast) var(--ifm-transition-timing-default)}.tabs__item--active{border-bottom-color:var(--ifm-tabs-color-active-border);border-bottom-left-radius:0;border-bottom-right-radius:0;color:var(--ifm-tabs-color-active)}.tabs__item:hover{background-color:var(--ifm-hover-overlay)}.tabs--block{justify-content:stretch}.tabs--block .tabs__item{flex-grow:1;justify-content:center}html[data-theme=dark]{--ifm-color-scheme:dark;--ifm-color-emphasis-0:var(--ifm-color-gray-1000);--ifm-color-emphasis-100:var(--ifm-color-gray-900);--ifm-color-emphasis-200:var(--ifm-color-gray-800);--ifm-color-emphasis-300:var(--ifm-color-gray-700);--ifm-color-emphasis-400:var(--ifm-color-gray-600);--ifm-color-emphasis-600:var(--ifm-color-gray-400);--ifm-color-emphasis-700:var(--ifm-color-gray-300);--ifm-color-emphasis-800:var(--ifm-color-gray-200);--ifm-color-emphasis-900:var(--ifm-color-gray-100);--ifm-color-emphasis-1000:var(--ifm-color-gray-0);--ifm-background-color:#1b1b1d;--ifm-background-surface-color:#242526;--ifm-hover-overlay:#ffffff0d;--ifm-color-content:#e3e3e3;--ifm-color-content-secondary:#fff;--ifm-breadcrumb-separator-filter:invert(64%) sepia(11%) saturate(0%) hue-rotate(149deg) brightness(99%) contrast(95%);--ifm-code-background:#ffffff1a;--ifm-scrollbar-track-background-color:#444;--ifm-scrollbar-thumb-background-color:#686868;--ifm-scrollbar-thumb-hover-background-color:#7a7a7a;--ifm-table-stripe-background:#ffffff12;--ifm-toc-border-color:var(--ifm-color-emphasis-200);--ifm-color-primary-contrast-background:#102445;--ifm-color-primary-contrast-foreground:#ebf2fc;--ifm-color-secondary-contrast-background:#474748;--ifm-color-secondary-contrast-foreground:#fdfdfe;--ifm-color-success-contrast-background:#003100;--ifm-color-success-contrast-foreground:#e6f6e6;--ifm-color-info-contrast-background:#193c47;--ifm-color-info-contrast-foreground:#eef9fd;--ifm-color-warning-contrast-background:#4d3800;--ifm-color-warning-contrast-foreground:#fff8e6;--ifm-color-danger-contrast-background:#4b1113;--ifm-color-danger-contrast-foreground:#ffebec;--docsearch-text-color:#f5f6f7;--docsearch-container-background:#090a11cc;--docsearch-modal-background:#15172a;--docsearch-modal-shadow:inset 1px 1px 0 0 #2c2e40,0 3px 8px 0 #000309;--docsearch-searchbox-background:#090a11;--docsearch-searchbox-focus-background:#000;--docsearch-hit-color:#bec3c9;--docsearch-hit-shadow:none;--docsearch-hit-background:#090a11;--docsearch-key-gradient:linear-gradient(-26.5deg,#565872,#31355b);--docsearch-key-shadow:inset 0 -2px 0 0 #282d55,inset 0 0 1px 1px #51577d,0 2px 2px 0 #0304094d;--docsearch-key-pressed-shadow:inset 0 -2px 0 0 #282d55,inset 0 0 1px 1px #51577d,0 1px 1px 0 rgba(3,4,9,.302);--docsearch-footer-background:#1e2136;--docsearch-footer-shadow:inset 0 1px 0 0 #494c6a80,0 -4px 8px 0 #0003;--docsearch-logo-color:#fff;--docsearch-muted-color:#7f8497}:root{--docusaurus-progress-bar-color:var(--ifm-color-primary);--ifm-table-container-background-color:#fff;--ifm-table-container-border:0.5px solid #eee;--ifm-table-container-border-top:1px solid #eee;--ifm-color-primary:#0d5297;--ifm-link-color:#114674;--ifm-color-primary-dark:#29784c;--ifm-color-primary-darker:#277148;--ifm-color-primary-darkest:#205d3b;--ifm-color-primary-light:#33925d;--ifm-color-primary-lighter:#359962;--ifm-color-primary-lightest:#3cad6e;--ifm-code-font-size:95%;--docusaurus-highlighted-code-line-bg:#0000001a;--text-code-background-color:#f0f0f0;--text-code-border-color:#f0f0f0;--code-background:#fbfbfb;--footer-text-color:#4f4f4f;--code-plain-color:#144367;--code-function-color:#0060c0;--code-tag-color:#004b9b;--code-punctuation-color:#393a34;--code-attr-name-color:#0076d0;--code-attr-value-color:#053466;--navbar-title-color:#003064;--menu-link-color-active:#00448d;--navbar-link-color-active:#034184;--tabs-item-color:#004c9c;--tabs-item-bottom-color:#005ca3;--table-of-contents-color:#0058b7;--breadcrumbs-item-color-active:#004a98;--homepage-background:linear-gradient(90deg,#eff2f7,7.60286%,#edf0f9 15.2057%,20.7513%,#ebeff8 26.297%,27.6386%,#ebeff8 28.9803%,38.2826%,#e7edf9 47.585%,48.1216%,#e6ecfa 48.6583%,53.1306%,#e4ecf9 57.6029%,61.5385%,#e3eafa 65.4741%,68.7835%,#deeafa 72.093%,75.7603%,#dbe6f8 79.4275%,82.8265%,#d8e5f8 86.2254%,87.8354%,#d5e4f9 89.4454%,91.8605%,#d2e2f9 94.2755%,95.4383%,#d1e1f8 96.6011%,98.3005%,#d0e0f7);--media-background-color:#eff6ff;--homepage-header-color:#003064;--start-header-color:#002e61;--start-text-color-hover:#0d5297;--start-text-code-color:#154b7a;--start-text-back-option-color:#2c2c2c;--start-text-slider-color:#003372;--speech-gradient-start-color:#fff;--speech-gradient-end-color:#dceeff;--adaptive-logo-filter:unset;--explore-background-color-default:#3e79c0;--explore-background-color-hover:#336baf;--explore-background-color-click:#295e9f;--playground-background:#fff;--playground-wrapper-text-input-color:#1c1e21;--playground-wrapper-drag-filter:brightness(0) saturate(100%) invert(27%) sepia(0%) saturate(1%) hue-rotate(169deg) brightness(97%) contrast(97%);--playground-wrapper-drag-filter-hover:brightness(0) saturate(100%) invert(11%) sepia(0%) saturate(592%) hue-rotate(309deg) brightness(98%) contrast(94%);--playground-wrapper-remove-filter:brightness(0) saturate(100%) invert(49%) sepia(1%) saturate(100%) hue-rotate(34deg) brightness(99%) contrast(91%);--playground-wrapper-button-filter:brightness(0) saturate(100%) invert(46%) sepia(0%) saturate(308%) hue-rotate(283deg) brightness(96%) contrast(93%);--playground-wrapper-button-filter-hover:brightness(0) saturate(100%) invert(11%) sepia(0%) saturate(592%) hue-rotate(309deg) brightness(98%) contrast(94%);--playground-wrapper-button-filter-active:brightness(0) saturate(100%) invert(0%) sepia(97%) saturate(7488%) hue-rotate(150deg) brightness(95%) contrast(103%);--playground-add-background:#fff;--playground-add-background-hover:#fafafa;--playground-add-filter:brightness(0) saturate(100%) invert(65%) sepia(1%) saturate(0%) hue-rotate(338deg) brightness(92%) contrast(91%);--playground-add-filter-hover:brightness(0) saturate(100%) invert(65%) sepia(1%) saturate(0%) hue-rotate(338deg) brightness(92%) contrast(91%);--playground-header-button-filter:brightness(0) saturate(100%) invert(66%) sepia(0%) saturate(0%) hue-rotate(37deg) brightness(94%) contrast(94%);--playground-header-button-filter-hover:brightness(0) saturate(100%) invert(14%) sepia(0%) saturate(1246%) hue-rotate(284deg) brightness(102%) contrast(97%);--playground-information-filter:brightness(0) saturate(100%) invert(72%) sepia(0%) saturate(962%) hue-rotate(52deg) brightness(99%) contrast(96%);--playground-information-filter-hover:brightness(0) saturate(100%) invert(14%) sepia(0%) saturate(1246%) hue-rotate(284deg) brightness(102%) contrast(97%);--playground-modal-fade-in-background:hsla(0,0%,50%,.438);--playground-modal-fade-in-background-out:#80808000;--playground-chat-list-scrollbar-background:#f7f7f7;--playground-chat-list-scrollbar-thumb-background:#d0d0d0;--playground-modal-scrollbar-background:#ebebeb;--playground-modal-background:#fff;--playground-modal-border:1px solid silver;--playground-modal-title-color:#002e61;--playground-modal-label-color:#04345c;--playground-modal-collapsible-title-color:#000f1f;--playground-modal-collapsible-title-border:1px solid #ebebeb;--playground-service-input-color:#333;--playground-service-input-background:#fff;--playground-service-input-border:1px solid grey;--playground-modal-close-background:#fcfcfc;--playground-modal-close-background-hover:#f4f4f4;--playground-modal-close-background-active:#ececec;--playground-modal-close-border:1px solid grey;--playground-modal-submit-background:#fcfcfc;--playground-modal-submit-background-hover:#f5f8fa;--playground-modal-submit-background-active:#eaf3ff;--playground-modal-submit-color:#003a6b;--playground-modal-submit-border:1px solid #003a6b;--playground-modal-code-background:#f6f7f8;--playground-modal-code-color:"";--playground-modal-visibility-filter-hover:brightness(0) saturate(100%) invert(41%) sepia(0%) saturate(275%) hue-rotate(155deg) brightness(97%) contrast(91%);--playground-modal-openai-filter:brightness(0) saturate(100%) invert(16%) sepia(0%) saturate(575%) hue-rotate(163deg) brightness(100%) contrast(93%);--playground-header-modal-text-color:#3a3a3a;--playground-information-modal-filter:brightness(0) saturate(100%) invert(42%) sepia(0%) saturate(844%) hue-rotate(69deg) brightness(96%) contrast(91%);--ifm-code-font-size:87%;--docusaurus-tag-list-border:var(--ifm-color-emphasis-300);--docsearch-primary-color:#5468ff;--docsearch-text-color:#1c1e21;--docsearch-spacing:12px;--docsearch-icon-stroke-width:1.4;--docsearch-highlight-color:var(--docsearch-primary-color);--docsearch-muted-color:#969faf;--docsearch-container-background:#656c85cc;--docsearch-logo-color:#5468ff;--docsearch-modal-width:560px;--docsearch-modal-height:600px;--docsearch-modal-background:#f5f6f7;--docsearch-modal-shadow:inset 1px 1px 0 0 #ffffff80,0 3px 8px 0 #555a64;--docsearch-searchbox-height:56px;--docsearch-searchbox-background:#ebedf0;--docsearch-searchbox-focus-background:#fff;--docsearch-searchbox-shadow:inset 0 0 0 2px var(--docsearch-primary-color);--docsearch-hit-height:56px;--docsearch-hit-color:#444950;--docsearch-hit-active-color:#fff;--docsearch-hit-background:#fff;--docsearch-hit-shadow:0 1px 3px 0 #d4d9e1;--docsearch-key-gradient:linear-gradient(-225deg,#d5dbe4,#f8f8f8);--docsearch-key-shadow:inset 0 -2px 0 0 #cdcde6,inset 0 0 1px 1px #fff,0 1px 2px 1px #1e235a66;--docsearch-key-pressed-shadow:inset 0 -2px 0 0 #cdcde6,inset 0 0 1px 1px #fff,0 1px 1px 0 #1e235a66;--docsearch-footer-height:44px;--docsearch-footer-background:#fff;--docsearch-footer-shadow:0 -1px 0 0 #e0e3e8,0 -3px 6px 0 #45629b1f;--docsearch-primary-color:var(--ifm-color-primary);--docsearch-text-color:var(--ifm-font-color-base);--docusaurus-announcement-bar-height:auto;--docusaurus-collapse-button-bg:#0000;--docusaurus-collapse-button-bg-hover:#0000001a;--doc-sidebar-width:300px;--doc-sidebar-hidden-width:30px}#nprogress .bar{background:var(--docusaurus-progress-bar-color);height:2px;left:0;position:fixed;top:0;width:100%;z-index:1031}#nprogress .peg{box-shadow:0 0 10px var(--docusaurus-progress-bar-color),0 0 5px var(--docusaurus-progress-bar-color);height:100%;opacity:1;position:absolute;right:0;transform:rotate(3deg) translateY(-4px);width:100px}[data-theme=dark]{--ifm-table-container-background-color:#282a36;--ifm-table-container-border-top:1px solid #282a36;--ifm-table-container-border:unset;--ifm-color-primary:#5da9f6;--ifm-link-color:#2097ff;--ifm-color-primary-dark:#21af90;--ifm-color-primary-darker:#1fa588;--ifm-color-primary-darkest:#1a8870;--ifm-color-primary-light:#29d5b0;--ifm-color-primary-lighter:#32d8b4;--ifm-color-primary-lightest:#4fddbf;--docusaurus-highlighted-code-line-bg:#0000004d;--text-code-border-color:#282a36;--text-code-background-color:#3c3c3c;--code-background:#282a36;--footer-text-color:#fff;--code-plain-color:#fff;--code-function-color:#fff;--code-tag-color:#fff;--code-punctuation-color:#fff;--code-attr-name-color:#fff;--code-attr-value-color:#fff;--navbar-title-color:#fff;--menu-link-color-active:#0980ff;--navbar-link-color-active:#2487d3;--tabs-item-color:#53a1f4;--tabs-item-bottom-color:#108be9;--table-of-contents-color:#298bf4;--breadcrumbs-item-color-active:#1888ff;--media-background-color:#232323;--homepage-background:#232323;--homepage-header-color:#fff;--start-header-color:#fff;--start-text-color-hover:#5da9f6;--start-text-code-color:#5da9f6;--start-text-back-option-color:#fff;--start-text-slider-color:#fff;--speech-gradient-start-color:#39393900;--speech-gradient-end-color:#272727;--adaptive-logo-filter:brightness(0) saturate(100%) invert(100%) sepia(0%) saturate(7500%) hue-rotate(37deg) brightness(108%) contrast(108%);--explore-background-color-default:#5d5d5d;--explore-background-color-hover:#525252;--explore-background-color-click:#4a4a4a;--playground-background:#1f1f1f;--playground-wrapper-text-input-color:#eee;--playground-wrapper-drag-filter:brightness(0) saturate(100%) invert(69%) sepia(85%) saturate(0%) hue-rotate(125deg) brightness(97%) contrast(96%);--playground-wrapper-drag-filter-hover:brightness(0) saturate(100%) invert(73%) sepia(67%) saturate(0%) hue-rotate(180deg) brightness(101%) contrast(92%);--playground-wrapper-remove-filter:brightness(0) saturate(100%) invert(69%) sepia(85%) saturate(0%) hue-rotate(125deg) brightness(97%) contrast(96%);--playground-wrapper-button-filter:brightness(0) saturate(100%) invert(69%) sepia(85%) saturate(0%) hue-rotate(125deg) brightness(97%) contrast(96%);--playground-wrapper-button-filter-hover:brightness(0) saturate(100%) invert(98%) sepia(0%) saturate(2259%) hue-rotate(262deg) brightness(108%) contrast(89%);--playground-wrapper-button-filter-active:brightness(0) saturate(100%) invert(100%) sepia(8%) saturate(358%) hue-rotate(250deg) brightness(112%) contrast(100%);--playground-add-background:#424242;--playground-add-background-hover:#4a4a4a;--playground-add-filter:brightness(0) saturate(100%) invert(72%) sepia(8%) saturate(2%) hue-rotate(83deg) brightness(100%) contrast(101%);--playground-add-filter-hover:brightness(0) saturate(100%) invert(80%) sepia(1%) saturate(4%) hue-rotate(261deg) brightness(92%) contrast(95%);--playground-header-button-filter:brightness(0) saturate(100%) invert(65%) sepia(56%) saturate(0%) hue-rotate(126deg) brightness(102%) contrast(94%);--playground-header-button-filter-hover:brightness(0) saturate(100%) invert(81%) sepia(0%) saturate(128%) hue-rotate(321deg) brightness(108%) contrast(100%);--playground-information-filter:brightness(0) saturate(100%) invert(69%) sepia(0%) saturate(6636%) hue-rotate(208deg) brightness(99%) contrast(93%);--playground-information-filter-hover:brightness(0) saturate(100%) invert(81%) sepia(0%) saturate(128%) hue-rotate(321deg) brightness(108%) contrast(100%);--playground-modal-fade-in-background:#1f1f1fa8;--playground-modal-fade-in-background-out:#1f1f1f00;--playground-chat-list-scrollbar-background:#303030;--playground-chat-list-scrollbar-thumb-background:grey;--playground-modal-scrollbar-background:#525252;--playground-modal-background:#474747;--playground-modal-border:1px solid #434343;--playground-modal-title-color:#dbdbdb;--playground-modal-label-color:#ececec;--playground-modal-collapsible-title-color:#fff;--playground-modal-collapsible-title-border:1px solid #a0a0a0;--playground-service-input-color:#f1f1f1;--playground-service-input-background:#3b3b3b;--playground-service-input-border:1px solid #6d6d6d;--playground-modal-close-background:#5e5e5e;--playground-modal-close-background-hover:#626262;--playground-modal-close-background-active:#595959;--playground-modal-close-border:1px solid #525252;--playground-modal-submit-background:#656565;--playground-modal-submit-background-hover:#6d6d6d;--playground-modal-submit-background-active:#646464;--playground-modal-submit-color:#fff;--playground-modal-submit-border:1px solid #454545;--playground-modal-code-background:#3c3c3c;--playground-modal-code-color:#fff;--playground-modal-visibility-filter-hover:brightness(0) saturate(100%) invert(82%) sepia(46%) saturate(1%) hue-rotate(297deg) brightness(101%) contrast(101%);--playground-modal-openai-filter:brightness(0) saturate(100%) invert(100%) sepia(2%) saturate(2286%) hue-rotate(212deg) brightness(112%) contrast(85%);--playground-header-modal-text-color:#fff;--playground-information-modal-filter:brightness(0) saturate(100%) invert(100%) sepia(2%) saturate(2286%) hue-rotate(212deg) brightness(112%) contrast(85%)}.markdown>h1{font-family:sans-serif;font-size:2.95rem;margin-top:2px}img+h2{font-size:2rem!important}.theme-doc-sidebar-container{border-right:unset!important}.menu__link{border-radius:5px!important;font-family:Helvetica Neue,Helvetica,Arial,sans-serif;letter-spacing:.4px}.menu__list{width:210px!important}.menu__link:hover{background-color:#6161610d}.menu__link--active{background-color:#6161610d!important;color:var(--menu-link-color-active)!important}.navbar__link--active{color:var(--navbar-link-color-active)!important}.tabs__item--active{border-bottom-color:var(--tabs-item-bottom-color)!important;color:var(--tabs-item-color)!important}.table-of-contents__link--active,.table-of-contents__link--active code{color:var(--table-of-contents-color)!important}.table-of-contents__link--active:hover,.table-of-contents__link:hover,.table-of-contents__link:hover code{color:#006bde!important}.breadcrumbs__item--active .breadcrumbs__link{color:var(--breadcrumbs-item-color-active)!important}.navbar__link--active:hover{color:var(--ifm-color-primary)!important}.table-of-contents{border-left:unset}.menu{padding-left:10px!important;padding-right:10px!important;width:fit-content!important}code{background-color:var(--text-code-background-color);border:1px solid var(--text-code-border-color)!important;padding:1.5px 4px}.tabs{background-color:var(--ifm-table-container-background-color);border:var(--ifm-table-container-border);border-bottom:unset;border-top:var(--ifm-table-container-border-top);box-shadow:0 1px 2px 0 #0000001a}.margin-top--md{border-top:1px solid #dadde1;margin-top:0!important}.codeBlockTitle_Ktv7+.codeBlockContent_biex .codeBlock_bY9V,.margin-top--md .language-text,.margin-top--md code{border-top-left-radius:0;border-top-right-radius:0}.documentation-video{width:80%}.documentation-example-container{border:unset;display:flex;justify-content:center;padding:18px 18px 35px;width:100%}.method-example-container{display:block;justify-content:left}.documentation-button{background-color:#3b8ddf;border:unset;border-radius:5px;color:#fff;cursor:pointer;font-size:15px;margin-bottom:10px;padding:10px;transition:.1s;-webkit-user-select:none;user-select:none}.documentation-button:hover{background-color:#4b99e7}.documentation-button:active{background-color:#3f90e0}.component-key-toggle-button-container{display:flex;justify-content:center;margin-bottom:26px}.component-key-toggle-button{font-size:16px;padding:9px}.prism-code{background-color:var(--code-background);border-top-left-radius:0;border-top-right-radius:0}.navbar__title{color:var(--navbar-title-color);font-family:ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,Noto Sans,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;font-size:19.5px;letter-spacing:-.2px;margin-top:-1.2px}.navbar__logo{margin-top:.5px;width:23px}.navbar--fixed-top{box-shadow:unset}.header-github-link:hover{opacity:.6}.header-github-link:before{background:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 .297c-6.63 0-12 5.373-12 12 0 5.303 3.438 9.8 8.205 11.385.6.113.82-.258.82-.577 0-.285-.01-1.04-.015-2.04-3.338.724-4.042-1.61-4.042-1.61C4.422 18.07 3.633 17.7 3.633 17.7c-1.087-.744.084-.729.084-.729 1.205.084 1.838 1.236 1.838 1.236 1.07 1.835 2.809 1.305 3.495.998.108-.776.417-1.305.76-1.605-2.665-.3-5.466-1.332-5.466-5.93 0-1.31.465-2.38 1.235-3.22-.135-.303-.54-1.523.105-3.176 0 0 1.005-.322 3.3 1.23.96-.267 1.98-.399 3-.405 1.02.006 2.04.138 3 .405 2.28-1.552 3.285-1.23 3.285-1.23.645 1.653.24 2.873.12 3.176.765.84 1.23 1.91 1.23 3.22 0 4.61-2.805 5.625-5.475 5.92.42.36.81 1.096.81 2.22 0 1.606-.015 2.896-.015 3.286 0 .315.21.69.825.57C20.565 22.092 24 17.592 24 12.297c0-6.627-5.373-12-12-12'/%3E%3C/svg%3E") no-repeat;content:"";display:flex;filter:brightness(0) saturate(100%) invert(13%) sepia(35%) saturate(1296%) hue-rotate(178deg) brightness(99%) contrast(93%);height:22px;width:22px}html[data-theme=dark] .header-github-link:before{background:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23fff' d='M12 .297c-6.63 0-12 5.373-12 12 0 5.303 3.438 9.8 8.205 11.385.6.113.82-.258.82-.577 0-.285-.01-1.04-.015-2.04-3.338.724-4.042-1.61-4.042-1.61C4.422 18.07 3.633 17.7 3.633 17.7c-1.087-.744.084-.729.084-.729 1.205.084 1.838 1.236 1.838 1.236 1.07 1.835 2.809 1.305 3.495.998.108-.776.417-1.305.76-1.605-2.665-.3-5.466-1.332-5.466-5.93 0-1.31.465-2.38 1.235-3.22-.135-.303-.54-1.523.105-3.176 0 0 1.005-.322 3.3 1.23.96-.267 1.98-.399 3-.405 1.02.006 2.04.138 3 .405 2.28-1.552 3.285-1.23 3.285-1.23.645 1.653.24 2.873.12 3.176.765.84 1.23 1.91 1.23 3.22 0 4.61-2.805 5.625-5.475 5.92.42.36.81 1.096.81 2.22 0 1.606-.015 2.896-.015 3.286 0 .315.21.69.825.57C20.565 22.092 24 17.592 24 12.297c0-6.627-5.373-12-12-12'/%3E%3C/svg%3E") no-repeat;filter:brightness(0) saturate(100%) invert(100%) sepia(87%) saturate(2%) hue-rotate(56deg) brightness(106%) contrast(100%)}.function{color:var(--code-function-color)!important}.plain{color:var(--code-plain-color)!important}.tag,.template-string,.token+.boolean,.token+.dom,.token+.keyword,.token+.number,.token+.parameter,.token+.property,.token+.string{color:var(--code-tag-color)!important}.attr-name{color:var(--code-attr-name-color)!important}.attr-value{color:var(--code-attr-value-color)!important}.punctuation{color:var(--code-punctuation-color)!important}#playground-upload-modal-input,.theme-doc-markdown header,.web-speech-not-supported-error{display:none}h1+h2{margin-top:35px!important}.adaptive-logo-filter{filter:var(--adaptive-logo-filter)}.web-speech-not-supported-error,.web-speech-not-supported-error>a{color:red}body.DocSearch--active{overflow:auto!important}.youtube-icon{filter:brightness(0) saturate(100%) invert(60%) sepia(65%) saturate(421%) hue-rotate(179deg) brightness(90%) contrast(96%);float:left;margin-right:10px;margin-top:-2px;width:30px}#start-page-connect-to-popular{height:180px;width:756px}#start-page-connect-to-custom.start-page-main-details-expanded,#start-page-connect-to-popular.start-page-main-details-expanded{height:470px}#start-page-connect-to-popular>.start-page-connect-to-popular-navigation{cursor:pointer;display:inline-block;margin-left:0;margin-top:60px;width:50%}#start-page-connect-to-popular-navigation-left{padding-left:40px;text-align:left}#start-page-connect-to-popular-navigation-right{padding-right:84px;text-align:right}#start-page-connect-to-popular-navigation-right.start-page-main-details-visible{padding-right:40px}#start-page-connect-to-custom-navigation:hover,#start-page-connect-to-popular-navigation-left:hover,#start-page-web-model-navigation:hover{padding-left:4px}#start-page-connect-to-popular-navigation-right:hover{padding-right:44px}#playground-upload-modal-buttons{margin-top:20}#playground-upload-modal-error{color:red;margin-top:8px;text-align:center}.tag_zVej{border:1px solid var(--docusaurus-tag-list-border);transition:border var(--ifm-transition-fast)}.tag_zVej:hover{--docusaurus-tag-list-border:var(--ifm-link-color);text-decoration:none}.tagRegular_sFm0{border-radius:var(--ifm-global-radius);font-size:90%;padding:.2rem .5rem .3rem}.tagWithCount_h2kH{align-items:center;border-left:0;display:flex;padding:0 .5rem 0 1rem;position:relative}.tagWithCount_h2kH:after,.tagWithCount_h2kH:before{border:1px solid var(--docusaurus-tag-list-border);content:"";position:absolute;top:50%;transition:inherit}.tagWithCount_h2kH:before{border-bottom:0;border-right:0;height:1.18rem;right:100%;transform:translate(50%,-50%) rotate(-45deg);width:1.18rem}.tagWithCount_h2kH:after{border-radius:50%;height:.5rem;left:0;transform:translateY(-50%);width:.5rem}.tagWithCount_h2kH span{background:var(--ifm-color-secondary);border-radius:var(--ifm-global-radius);color:var(--ifm-color-black);font-size:.7rem;line-height:1.2;margin-left:.3rem;padding:.1rem .4rem}.tags_jXut{display:inline}.tag_QGVx{display:inline-block;margin:0 .4rem .5rem 0}.iconEdit_Z9Sw{margin-right:.3em;vertical-align:sub}.lastUpdated_JAkA{font-size:smaller;font-style:italic;margin-top:.2rem}.tocCollapsibleButton_TO0P{align-items:center;display:flex;font-size:inherit;justify-content:space-between;padding:.4rem .8rem;width:100%}.tocCollapsibleButton_TO0P:after{background:var(--ifm-menu-link-sublist-icon) 50% 50%/2rem 2rem no-repeat;content:"";filter:var(--ifm-menu-link-sublist-icon-filter);height:1.25rem;transform:rotate(180deg);transition:transform var(--ifm-transition-fast);width:1.25rem}.tocCollapsibleButtonExpanded_MG3E:after,.tocCollapsibleExpanded_sAul{transform:none}.tocCollapsible_ETCw{background-color:var(--ifm-menu-color-background-active);border-radius:var(--ifm-global-radius);margin:1rem 0}.tocCollapsibleContent_vkbj>ul{border-left:none;border-top:1px solid var(--ifm-color-emphasis-300);font-size:15px;padding:.2rem 0}.tocCollapsibleContent_vkbj ul li{margin:.4rem .8rem}.tocCollapsibleContent_vkbj a{display:block}.tableOfContents_bqdL{max-height:calc(100vh - var(--ifm-navbar-height) - 2rem);overflow-y:auto;position:sticky;top:calc(var(--ifm-navbar-height) + 1rem)}.code-toggle{background-color:#fff;border:1px solid #3584d3;border-radius:5px;color:#3584d3;cursor:pointer;margin:5px auto 20px;padding-bottom:5px;padding-top:5px;text-align:center;-webkit-user-select:none;user-select:none;width:100px}#playground-add-button,.playground-header-button{background-color:var(--playground-add-background)}.code-toggle:hover{background-color:#fbfbfb}.code-toggle:active{background-color:#f6f6f6}#playground-information-modal{margin-top:20px;max-height:560px!important;padding-left:20px;padding-right:18px;width:475px}#playground-information-modal-connect{margin-right:13px;width:57px}#playground-information-modal-shield{margin-left:5px;margin-right:19px;padding-bottom:6px;width:45px}#playground-information-modal-video{margin-left:6px;margin-right:17px;padding-bottom:1px;width:27px}.playground-information-modal-icon{filter:var(--playground-information-modal-filter);-webkit-user-select:none;user-select:none}#playground-information-modal-close-button{margin-bottom:-2px}.playground-intro-modal{transition:.5s!important}.playground-intro-modal>#playground-information-modal-title{padding-top:3px}#playground-add-button-container{text-align:center;width:100%}.playground-add-button-container-grid{margin-bottom:49px;margin-top:10px}#speech-content,.playground-add-button-container-panorama{margin-top:30px}.playground-add-button-container-expanded{margin-bottom:25px;margin-top:7px}#playground-add-button{box-shadow:0 0 12px 0 #2c33491a;height:50px;width:50px}#playground-add-button:hover{background-color:var(--playground-add-background-hover);box-shadow:0 0 8px 0 rgba(44,51,73,.141)}#playground-add-button:active{transform:scale(.95)}#playground-add-button-image{filter:var(--playground-add-filter);padding-top:9px;width:31px}#playground-add-button:hover>#playground-add-button-image{filter:var(--playground-add-filter-hover)}#playground-information-icon{filter:var(--playground-information-filter);width:21px}.playground-header-button:hover>a>#playground-information-icon{filter:var(--playground-information-filter-hover)}#playground-export-modal-checkbox-description{font-size:15px;margin-top:5px}#playground-export-modal-checkbox{float:left;margin-left:2px;margin-right:7px;margin-top:5px}#playground-header-buttons{display:flex;position:absolute;right:24px;top:4px}.playground-expanded>#playground-title>#playground-header-buttons{top:6px}.playground-header-button{border-radius:10px;box-shadow:0 0 10px 0 rgba(44,51,73,.238);cursor:pointer;height:40px;margin-right:16px;width:40px}.playground-header-button:hover{background-color:var(--playground-add-background-hover);box-shadow:0 0 8px 0 rgba(44,51,73,.242)}.playground-header-button:active{transform:scale(.96)}.playground-header-button>a>svg{filter:var(--playground-header-button-filter);height:100%;width:25px}.playground-header-button:hover>a>svg{filter:var(--playground-header-button-filter-hover)}.playground-file-button{padding-bottom:8px;width:23px}.playground-header-modal-title{margin-top:2px!important}.playground-header-modal-description{color:var(--playground-header-modal-text-color);font-size:15.8px}.playground-header-modal-buttons{display:flex;justify-content:center;margin-bottom:4px;margin-top:15px}.backToTopButton_sjWU{background-color:var(--ifm-color-emphasis-200);border-radius:50%;bottom:1.3rem;box-shadow:var(--ifm-global-shadow-lw);height:3rem;opacity:0;position:fixed;right:1.3rem;transform:scale(0);transition:all var(--ifm-transition-fast) var(--ifm-transition-timing-default);visibility:hidden;width:3rem;z-index:calc(var(--ifm-z-index-fixed) - 1)}.backToTopButton_sjWU:after{background-color:var(--ifm-color-emphasis-1000);content:" ";display:inline-block;height:100%;-webkit-mask:var(--ifm-menu-link-sublist-icon) 50%/2rem 2rem no-repeat;mask:var(--ifm-menu-link-sublist-icon) 50%/2rem 2rem no-repeat;width:100%}.backToTopButtonShow_xfvO{opacity:1;transform:scale(1);visibility:visible}#explore-button-container{display:flex;justify-content:center;margin-bottom:120px}#explore-button{background-color:var(--explore-background-color-default);border-radius:5px!important;color:#fff;font-size:20px!important;font-weight:500!important;height:50px!important;margin-right:unset!important;padding:8px 28px 10px!important}#explore-button:hover{background-color:var(--explore-background-color-hover)}#explore-button:active{background-color:var(--explore-background-color-click)}.explore-button-collapsed,.playground-modal-fade-out,.speech-panels-hidden,.start-panel-not-visible{opacity:0}.explore-button-expanded{opacity:1;transition:1.2s}.preload-image{opacity:.1;position:absolute;width:.5px}#start-page-connect-to-custom{height:180px;width:846px}#start-page-requirements{margin-top:20px}#start-page-connect-to-custom-interceptor{margin-left:11px}.start-page-connect-to-custom-padded-content{left:8px}#start-page-connect-to-custom-navigation{cursor:pointer;margin-left:0;margin-top:45px;padding-left:40px}#start-page-options{height:180px}#start-page-options>div>.start-page-text{color:var(--ifm-font-color-base);margin-left:0;opacity:1;transition:.1s}#start-page-options>div>.start-page-text:hover{color:var(--start-text-color-hover);margin-left:4px}.start-page-text-option-container{margin-left:70px;opacity:0;position:relative;text-align:left;transition:1s;width:100%}.start-page-display-logos>.start-page-logo,.start-page-main-details>.start-page-main-details-visible,.start-page-options-visible>.start-page-text-option-container{margin-left:0;opacity:1}.start-page-text-option-container-2{top:45px;transition-delay:.6s}.start-page-text-option-container-3{top:90px;transition-delay:1.2s}.start-page-text-option-container-4{top:135px;transition-delay:1.8s}.playground-chat-animated,.start-page-options-leave>.start-page-text-option-container{transition:.5s}.start-page-options-leave>.start-page-text-option-container:hover{margin-left:70px}.start-page-options-leave>.start-page-text-option-container-2{transition-delay:.2s}.start-page-options-leave>.start-page-text-option-container-3{transition-delay:.4s}.start-page-options-leave>.start-page-text-option-container-4{transition-delay:.6s}.start-page-options-quick-entry>.start-page-text-option-container-1{transition:.7s}.start-page-options-quick-entry>.start-page-text-option-container-2{transition:.7s .4s}.start-page-options-quick-entry>.start-page-text-option-container-3{transition:.7s .8s}.start-page-options-quick-entry>.start-page-text-option-container-4{transition:.7s 1.2s}.start-page-option-back{color:color(--start-text-back-option-color);font-size:18px!important;margin-top:11px!important}#start-page-small-screen>div>div>a{font-size:19px}#start-page-small-screen{display:none;margin-top:15px;position:relative}#start-page-web-model{height:180px;width:456px}#start-page-web-model.start-page-main-details-expanded{height:344px}#start-page-web-model-intro{font-size:22px;margin-top:12px}#start-page-web-model-instructions{font-size:17.5px;left:16px}#start-page-web-model-property{left:16px;margin-top:4px}#start-page-web-model-video{font-size:17.8px;margin-top:25px}#start-page-web-model-video-icon{margin-top:.5px;position:absolute;width:28px}#start-page-web-model-video>a>span{margin-left:35px}#start-page-web-model-navigation{cursor:pointer;margin-left:0;margin-top:26px;padding-left:40px}.start-page-web-model-slide{color:var(--start-text-slider-color);font-size:25px!important;left:147px;margin-top:22px;position:absolute!important}#start-page-web-model>.start-page-web-model-slide-visible{left:97px;opacity:1}#start-page-web-model>.start-page-web-model-slide-visible-out{left:48px;opacity:0}#start-page-create-component{height:180px;width:530px}#start-page-create-component.start-page-main-details-expanded{height:400px}#start-page-create-component-next{cursor:pointer;margin-left:0;margin-top:60px;text-align:right}#start-page-create-component-next.start-page-main-details-visible{margin-left:-26px}#start-page-create-component-next:hover{margin-left:-36px}#start-particles-container{height:100%;position:absolute;transform:translateY(-16px);width:100%}#customize-content,#media-panels,#playground-chat-list-parent,#speech-content,#speech-left-panel,.playground-chat-component{display:flex;justify-content:center}.playground-chat-list-expanded>.playground-chat-wrapper>.playground-chat-component{height:calc(100vh - 150px)}.playground-chat-list-expanded>.playground-chat-wrapper:first-child>.playground-chat-component{height:calc(100vh - 205px)}.playground-chat-list-expanded>.playground-chat-wrapper>.playground-chat-component>deep-chat{height:100%!important;width:100%!important}.playground-chat-description-text-parent{position:relative}.playground-chat-description-text{border:unset;color:var(--playground-background);font-size:17px;outline:0}.playground-chat-description-text-input{background-color:unset;color:var(--playground-wrapper-text-input-color);left:-1px;position:absolute;top:4px;width:calc(100% + 15px)}.playground-chat-wrapper{float:left;height:440px;min-width:400px}.playground-chat-wrapper-scale-shrunk{transform:scale(0);transition:.4s}.playground-chat-wrapper-scale-expanded{transform:scale(1)}.playground-chat-wrapper-width-shrunk{min-width:0;width:0}.playground-chat-wrapper-width-expanded{width:400px}.playground-chat-wrapper-height-shrunk{height:0}.playground-chat-list-expanded>.playground-chat-wrapper{height:0;width:unset}.playground-chat-list-expanded>.playground-chat-wrapper-height-expanded{height:calc(100vh - 62px)}.playground-chat-list-expanded>.playground-chat-wrapper-height-expanded:first-child{height:calc(100vh - 116px)}.playground-chat-details{padding-top:16px;text-align:center}.playground-chat-description{display:flex;justify-content:center;width:100%}.playground-chat-config-buttons{padding-top:1px;width:100%}.playground-chat-config-buttons>*{opacity:0;transition:.15s}.footerLogoLink_BH7S:hover,.hash-link:focus,.playground-chat-wrapper:hover>.playground-chat-details>.playground-chat-config-buttons>*,.playground-modal-fade-in,.start-page-title-visible,:hover>.hash-link{opacity:1}.playground-chat-drag-handle{cursor:grab;cursor:-webkit-grab;filter:var(--playground-wrapper-drag-filter);margin-right:3px;padding-bottom:1px;user-select:none;-moz-user-select:none;-webkit-user-select:none;-ms-user-select:none;width:22px}.playground-chat-drag-handle:hover{filter:var(--playground-wrapper-drag-filter-hover)}.playground-chat-drag-handle:active{cursor:grabbing;cursor:-webkit-grabbing}.playground-chat-config-button{cursor:pointer;filter:var(--playground-wrapper-button-filter);margin-right:8px;padding-bottom:3px;transform:scaleY(.95);width:17px}.playground-chat-config-button:hover{filter:var(--playground-wrapper-button-filter-hover);transform:scale(1.01,.97)}.playground-chat-config-button:active{filter:var(--playground-wrapper-button-filter-active);transform:scale(.96,.92)}.playground-chat-clear-button{padding-bottom:2px;transform:scale(.98,1.1);width:18.5px}.playground-chat-clear-button:hover{transform:scaleY(1.11)}.playground-chat-clear-button:active{transform:scale(.96,1.06)}.playground-chat-clone-button{padding-bottom:2.7px;width:18px}.playground-chat-remove-button{filter:var(--playground-wrapper-remove-filter);padding-bottom:4.5px;width:16px}.playground-constructable-object-property-input{border:1px solid grey;border:var(--playground-service-input-border);border-radius:4px;color:#333;color:var(--playground-service-input-color);font-size:15px;height:25px;padding-left:6px;padding-top:1px;position:relative;top:1px;width:94.5px}.playground-constructable-object-button{background-color:var(--playground-modal-close-background);border:1px solid grey;border-radius:5px;cursor:pointer;font-size:13px;margin-bottom:3px;margin-right:8px;position:relative}.playground-constructable-object-button:hover,.playground-modal-close-button:hover{background-color:var(--playground-modal-close-background-hover)}.playground-constructable-object-button:active,.playground-modal-close-button:active{background-color:var(--playground-modal-close-background-active)}.playground-constructable-object-add-button{height:24px;top:-1px;width:26px}.playground-constructable-object-remove-button{height:23px;margin-left:5px;top:.5px;width:24px}.DocSearch-Button-Container,.playground-service-modal-select-option{align-items:center;display:flex}.playground-service-modal-select-empty-option{margin-top:-2px}.playground-service-modal-optional-parameter-input-label{color:#232323;font-size:15px}.playground-service-modal-collapsible-title{border-bottom:var(--playground-modal-collapsible-title-border);color:var(--playground-modal-collapsible-title-color);margin-bottom:10px;margin-top:10px;-webkit-user-select:none;user-select:none}.playground-service-modal-collapsible-title:hover{font-weight:500}.playground-service-modal-collapsible-title-button{bottom:1px;cursor:pointer;float:left;height:10px;margin-right:5px;position:relative;width:10px}.playground-service-modal-collapsible-title-text{cursor:pointer;font-weight:400!important}#playground-service-modal-close-buttons{margin-top:10px;text-align:center}#playground-service-modal-service-label,#playground-service-modal-service-type-label{bottom:-1px;position:relative}.playground-service-modal-visibility-input{padding-right:23px}#visibility-icon-container{cursor:pointer;float:right;position:relative;-webkit-user-select:none;user-select:none;width:20px}.visibility-icon{filter:brightness(0) saturate(100%) invert(88%) sepia(0) saturate(441%) hue-rotate(31deg) brightness(91%) contrast(87%);left:-18px;position:absolute;top:8.5px;width:11.5px}.visibility-icon:hover{filter:var(--playground-modal-visibility-filter-hover)}.playground-service-modal-service-icon{margin-left:2px;margin-right:2px;width:10px}.adaptive-openai-filter{filter:var(--playground-modal-openai-filter)}#service-code{background-color:var(--playground-modal-code-background);color:var(--playground-modal-code-color);margin:0;padding-bottom:10px;padding-top:10px}.playgroud-service-modal-form>div{display:table-row;height:31px}.playground-service-modal-input-label{color:var(--playground-modal-label-color);cursor:pointer;display:table-cell;padding-right:10px;white-space:nowrap;width:1px}.playground-service-modal-input{background-color:var(--playground-service-input-background);border:var(--playground-service-input-border);border-radius:4px;color:var(--playground-service-input-color);font-size:15px;height:25px;padding-left:6px;padding-top:1px;position:relative;top:1px;width:200px}@-moz-document url-prefix(){.direct-service-title{display:flex;padding-top:3px}.playground-header-modal-description{font-size:15px}.playground-service-modal-input{padding-top:0}}.playground-modal-field-invalid{border:1px solid red}.playground-modal-field-invalid-2{border:1.5px solid red}.playground-service-modal-background{height:100%;left:0;position:fixed;top:0;transition:.2s;width:100%;z-index:2}.playground-modal-fade-in-background{background-color:var(--playground-modal-fade-in-background)}.playground-modal-fade-out-background{background-color:var(--playground-modal-fade-in-background-out)}.playground-modal{background-color:var(--playground-modal-background);border:var(--playground-modal-border);border-radius:7px;left:50%;padding:10px 20px 20px;position:fixed;text-align:left;top:50%;transform:translate(-50%,-50%);transition:.2s;width:500px;z-index:2}.playground-modal::-webkit-scrollbar{width:10px}.playground-modal::-webkit-scrollbar-track{background-color:var(--playground-modal-scrollbar-background)}.playground-modal::-webkit-scrollbar-thumb{background-color:var(--playground-chat-list-scrollbar-thumb-background);border-radius:10px}#capture-files-panels>*,.playground-modal>div{width:100%}.playground-modal-title{color:var(--playground-modal-title-color);display:flex;font-size:21px;justify-content:center;margin-bottom:10px;margin-top:1px;padding-bottom:5px;text-align:center}.playground-modal-button{border-radius:5px;cursor:pointer;font-size:15px;height:30px;margin-right:8px;width:68px}.playground-modal-close-button{background-color:var(--playground-modal-close-background);border:var(--playground-modal-close-border)}.playground-modal-submit-button{background-color:var(--playground-modal-submit-background);border:var(--playground-modal-submit-border);color:var(--playground-modal-submit-color)}#start-panel-header,.feature-sub-header{color:var(--homepage-header-color);font-weight:700}.playground-modal-submit-button:hover{background-color:var(--playground-modal-submit-background-hover)}.playground-modal-submit-button:active{background-color:var(--playground-modal-submit-background-active)}#small-screen-component{display:none;justify-content:center;transform:scale(.9)}#small-screen-deep-chat-logo{display:none;margin-left:auto;margin-right:auto;margin-top:12px;width:200px}#start-panel-particles-container{height:100%;transform:translateY(-16px);width:100%}#start-panel{background:var(--homepage-background);border-bottom-left-radius:100% 9%;border-bottom-right-radius:100% 9%;display:table;height:calc(100vh - 20px);margin-left:auto;margin-right:auto;min-height:567px;padding-top:1%;position:relative;width:100%}#start-panel-content{left:10%;position:absolute;text-align:center;top:40%;transform:translateY(-50%);width:80%}#start-panel-header{font-size:3.7rem;letter-spacing:-1.2px}#start-panel-sub-header{font-family:inter_webfont,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,Noto Sans,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;font-size:2.65rem;font-weight:600;margin-top:-5px}#start-panel-animation-content-container{margin-left:auto;margin-right:auto;margin-top:65px;position:relative;width:650px}#start-panel-component{transition:margin-left 1s}.start-panel-component-center{margin-left:155px}#start-panel-logos{display:flex;flex-direction:column;position:absolute;z-index:5}.start-panel-visible{opacity:1;transition:1s}.start-panel-logos-middle{top:153px}.logos-top{top:12px}.start-panel-logos-collapsed .start-panel-logo{margin-bottom:-55px}.start-panel-logos-expanded .start-panel-logo{margin-bottom:15px}.start-panel-logos-left{left:395px}.start-panel-logo{background-color:#fff;border-radius:10px;box-shadow:0 .5rem 1rem 0 #2c33491a;cursor:pointer;display:inline-block;height:55px;transition:margin-bottom 1s;-webkit-user-select:none;user-select:none;width:54px}.start-panel-logo:hover{background-color:#e9e9e9}#message-line{background-color:#c5c5c5;height:1.5px;left:345px;position:absolute;top:180px;transition:width 1s;z-index:-4}.message-line-short{width:0}.message-line-long{width:175px}#connect-text,#media-text,.capture-files-text{font-size:20px;margin-top:100px;width:80%;text-align:center}#message-bubble{background-color:#d1d1d1;border-radius:15px;height:15px;left:325px;position:absolute;top:173px;width:15px;z-index:-3}.message-bubble-animation{animation:4s infinite a}@keyframes a{40%{background-color:#d1d1d1;left:325px}70%{background-color:#d1d1d1;left:510px}71%{background-color:#0084ff;left:510px}to{background-color:#0084ff;left:330px}}.start-panel-component-left{margin-left:45px!important}.start-panel-logos-right{left:495px!important}#capture-files-sub-header{margin-bottom:60px;margin-top:350px}#capture-files-panels{display:flex;justify-content:center;margin-top:10px}#capture-files-left-panel{display:flex;float:left;justify-content:center;padding-left:40px;padding-right:30px}#capture-files-right-panel{float:right;padding-right:23px}#connect-left-panel,.feature-panel{padding-right:30px}.capture-files-text{max-width:585px}.capture-panels-distributed #capture-files-left-panel deep-chat{margin-left:auto;margin-right:260px}.capture-panels-distributed #capture-files-right-panel .capture-files-text{margin-left:165px}.capture-panels-close #capture-files-left-panel deep-chat{margin-left:auto;margin-right:128px;transition:1s}.capture-panels-close #capture-files-right-panel .capture-files-text{margin-left:-20px;transition:1s}#customize{margin-bottom:160px}#customize-sub-header{margin-bottom:80px}#customize-content deep-chat{margin-left:30px;margin-right:30px}.customize-content-bottom{margin-top:300px}.customize-content-top{margin-top:0;transition:2s ease-out}#connect{margin-top:150px}#connect-panels{display:flex;justify-content:center;margin-top:60px}#connect-left-panel deep-chat{display:table;margin-left:auto;margin-right:300px;transition:1.5s}.connect-panels-close #connect-panels #connect-left-panel deep-chat{margin-right:120px}#connect-text{margin-left:120px;max-width:615px;transition:1.5s}.connect-panels-close #connect-panels #connect-right-panel #connect-text{margin-left:0}#speech{background:linear-gradient(120deg,var(--speech-gradient-start-color) 0,var(--speech-gradient-end-color) 100%);margin-bottom:90px;margin-top:120px}#speech-sub-header{padding-top:40px}#speech-content{padding-bottom:40px}#speech-right-panel deep-chat{margin-left:150px}#speech-text{font-size:20px;margin-left:auto;margin-right:14px;margin-top:100px;max-width:570px;min-width:433px;text-align:center;width:75%}.speech-panels-visible{opacity:1;transition:1.5s}#media-diagonal-padding{margin-top:200px;transform:skewY(4deg)}#media,#media-diagonal-padding{background-color:var(--media-background-color);height:382px;padding-top:30px}#media{margin-top:-300px;position:absolute;width:100%}#media-panel-left{display:flex;justify-content:right}#media-text{max-width:608px;min-width:530px}#media-panel-right{display:flex;padding-left:140px}.media-top{margin-top:50px;transition:1s}.media-bottom{margin-top:200px}#features-container{margin-left:auto;margin-right:auto}#features-header{background:-webkit-linear-gradient(20deg,#679fd4,#28699b);background-clip:text;-webkit-background-clip:text;-webkit-text-fill-color:#0000;font-size:2.85rem;font-weight:800;line-height:1.25;margin-bottom:16px;text-align:center}.feature-sub-header{font-size:35px;text-align:center}.feature-panel{padding-left:30px;width:50%}.feature-text{font-size:20px;padding:10%;text-align:center}#footer{color:var(--footer-text-color);font-size:14px;margin-left:60px;padding-bottom:5px;padding-top:10px}#playground-title,#start-page-title{color:var(--start-header-color);font-family:sans-serif;font-size:33px}.DocSearch-Button{align-items:center;background:var(--docsearch-searchbox-background);border:0;border-radius:40px;color:var(--docsearch-muted-color);cursor:pointer;display:flex;font-weight:500;height:36px;justify-content:space-between;padding:0 8px;-webkit-user-select:none;user-select:none}.DocSearch-Button:active,.DocSearch-Button:focus,.DocSearch-Button:hover{background:var(--docsearch-searchbox-focus-background);box-shadow:var(--docsearch-searchbox-shadow);color:var(--docsearch-text-color);outline:0}.DocSearch-Search-Icon{stroke-width:1.6}.DocSearch-Hit-Tree,.DocSearch-Hit-action,.DocSearch-Hit-icon,.DocSearch-Reset{stroke-width:var(--docsearch-icon-stroke-width)}.DocSearch-Button .DocSearch-Search-Icon{color:var(--docsearch-text-color)}.DocSearch-Button-Placeholder{font-size:1rem;padding:0 12px 0 6px}.DocSearch-Button-Keys{display:flex;min-width:calc(40px + .8em)}.DocSearch-Button-Key{align-items:center;background:var(--docsearch-key-gradient);border:0;border-radius:3px;box-shadow:var(--docsearch-key-shadow);color:var(--docsearch-muted-color);display:flex;height:18px;justify-content:center;margin-right:.4em;padding:0 0 2px;position:relative;top:-1px;width:20px}.DocSearch-Button-Key--pressed{box-shadow:var(--docsearch-key-pressed-shadow);transform:translate3d(0,1px,0)}.DocSearch--active,.start>body{overflow:hidden!important}.DocSearch-Container{background-color:var(--docsearch-container-background);height:100vh;left:0;position:fixed;top:0;width:100vw;z-index:200}.DocSearch-Container a{text-decoration:none}.DocSearch-Hit[aria-selected=true] mark,.content_knG7 a{text-decoration:underline}.DocSearch-Link{appearance:none;background:none;border:0;color:var(--docsearch-highlight-color);cursor:pointer;font:inherit;margin:0;padding:0}.DocSearch-Modal{background:var(--docsearch-modal-background);border-radius:6px;box-shadow:var(--docsearch-modal-shadow);flex-direction:column;margin:60px auto auto;max-width:var(--docsearch-modal-width);position:relative}.DocSearch-SearchBar{display:flex;padding:var(--docsearch-spacing) var(--docsearch-spacing) 0}.DocSearch-Form{align-items:center;background:var(--docsearch-searchbox-focus-background);border-radius:4px;box-shadow:var(--docsearch-searchbox-shadow);display:flex;height:var(--docsearch-searchbox-height);margin:0;padding:0 var(--docsearch-spacing);position:relative;width:100%}.DocSearch-Input{appearance:none;background:#0000;border:0;color:var(--docsearch-text-color);flex:1;font:inherit;font-size:1.2em;height:100%;outline:0;padding:0 0 0 8px;width:80%}.DocSearch-Input::placeholder{color:var(--docsearch-muted-color);opacity:1}.DocSearch-Input::-webkit-search-cancel-button,.DocSearch-Input::-webkit-search-decoration,.DocSearch-Input::-webkit-search-results-button,.DocSearch-Input::-webkit-search-results-decoration{display:none}.DocSearch-LoadingIndicator,.DocSearch-MagnifierLabel,.DocSearch-Reset{margin:0;padding:0}.DocSearch-Container--Stalled .DocSearch-LoadingIndicator,.DocSearch-MagnifierLabel,.DocSearch-Reset{align-items:center;color:var(--docsearch-highlight-color);display:flex;justify-content:center}.DocSearch-Cancel,.DocSearch-Container--Stalled .DocSearch-MagnifierLabel,.DocSearch-LoadingIndicator,.DocSearch-Reset[hidden]{display:none}.DocSearch-Reset{animation:.1s ease-in forwards c;appearance:none;background:none;border:0;border-radius:50%;color:var(--docsearch-icon-color);cursor:pointer;padding:2px;right:0}.DocSearch-Help,.DocSearch-HitsFooter,.DocSearch-Label{color:var(--docsearch-muted-color)}.DocSearch-Reset:hover{color:var(--docsearch-highlight-color)}.DocSearch-LoadingIndicator svg,.DocSearch-MagnifierLabel svg{height:24px;width:24px}.DocSearch-Dropdown{max-height:calc(var(--docsearch-modal-height) - var(--docsearch-searchbox-height) - var(--docsearch-spacing) - var(--docsearch-footer-height));min-height:var(--docsearch-spacing);overflow-y:auto;overflow-y:overlay;padding:0 var(--docsearch-spacing);scrollbar-color:var(--docsearch-muted-color) var(--docsearch-modal-background);scrollbar-width:thin}.DocSearch-Dropdown::-webkit-scrollbar{width:12px}.DocSearch-Dropdown::-webkit-scrollbar-track{background:#0000}.DocSearch-Dropdown::-webkit-scrollbar-thumb{background-color:var(--docsearch-muted-color);border:3px solid var(--docsearch-modal-background);border-radius:20px}.DocSearch-Dropdown ul{list-style:none;margin:0;padding:0}.DocSearch-Label{font-size:.75em;line-height:1.6em}.DocSearch-Help{font-size:.9em;margin:0;-webkit-user-select:none;user-select:none}.DocSearch-Title{font-size:1.2em}.DocSearch-Logo a,.playground-chat-list-panorama{display:flex}.DocSearch-Logo svg{color:var(--docsearch-logo-color);margin-left:8px}.DocSearch-Hits:last-of-type{margin-bottom:24px}.DocSearch-Hits mark{background:none;color:var(--docsearch-highlight-color)}.DocSearch-HitsFooter{display:flex;font-size:.85em;justify-content:center;margin-bottom:var(--docsearch-spacing);padding:var(--docsearch-spacing)}.DocSearch-HitsFooter a{border-bottom:1px solid;color:inherit}.DocSearch-Hit{border-radius:4px;display:flex;padding-bottom:4px;position:relative}.DocSearch-Hit--deleting{opacity:0;transition:.25s linear}.DocSearch-Hit--favoriting{transform:scale(0);transform-origin:top center;transition:.25s linear .25s}.DocSearch-Hit a{background:var(--docsearch-hit-background);border-radius:4px;box-shadow:var(--docsearch-hit-shadow);display:block;padding-left:var(--docsearch-spacing);width:100%}.DocSearch-Hit-source{background:var(--docsearch-modal-background);color:var(--docsearch-highlight-color);font-size:.85em;font-weight:600;line-height:32px;margin:0 -4px;padding:8px 4px 0;position:sticky;top:0;z-index:10}.DocSearch-Hit-Tree{color:var(--docsearch-muted-color);height:var(--docsearch-hit-height);opacity:.5;width:24px}.DocSearch-Hit[aria-selected=true] a{background-color:var(--docsearch-highlight-color)}.DocSearch-Hit-Container{align-items:center;color:var(--docsearch-hit-color);display:flex;flex-direction:row;height:var(--docsearch-hit-height);padding:0 var(--docsearch-spacing) 0 0}.DocSearch-Hit-icon{height:20px;width:20px}.DocSearch-Hit-action,.DocSearch-Hit-icon{color:var(--docsearch-muted-color)}.DocSearch-Hit-action{align-items:center;display:flex;height:22px;width:22px}.DocSearch-Hit-action svg{display:block;height:18px;width:18px}.DocSearch-Hit-action+.DocSearch-Hit-action{margin-left:6px}.DocSearch-Hit-action-button{appearance:none;background:none;border:0;border-radius:50%;color:inherit;cursor:pointer;padding:2px}#__docusaurus-base-url-issue-banner-container,.docSidebarContainer_YfHR,.navbarSearchContainer_Bca1:empty,.sidebarLogo_isFc,.themedComponent_mlkZ,[data-theme=dark] .lightToggleIcon_pyhR,[data-theme=light] .darkToggleIcon_wfgR,html[data-announcement-bar-initially-dismissed=true] .announcementBar_mb4j,svg.DocSearch-Hit-Select-Icon{display:none}.DocSearch-Hit[aria-selected=true] .DocSearch-Hit-Select-Icon{display:block}.DocSearch-Hit-action-button:focus,.DocSearch-Hit-action-button:hover{background:#0003;transition:background-color .1s ease-in}.DocSearch-Hit-action-button:focus path,.DocSearch-Hit-action-button:hover path{fill:#fff}.DocSearch-Hit-content-wrapper{display:flex;flex:1 1 auto;flex-direction:column;font-weight:500;justify-content:center;line-height:1.2em;margin:0 8px;overflow-x:hidden;position:relative;text-overflow:ellipsis;white-space:nowrap;width:80%}.DocSearch-Hit-title{font-size:.9em}.DocSearch-Hit-path{color:var(--docsearch-muted-color);font-size:.75em}.DocSearch-Hit[aria-selected=true] .DocSearch-Hit-Tree,.DocSearch-Hit[aria-selected=true] .DocSearch-Hit-action,.DocSearch-Hit[aria-selected=true] .DocSearch-Hit-icon,.DocSearch-Hit[aria-selected=true] .DocSearch-Hit-path,.DocSearch-Hit[aria-selected=true] .DocSearch-Hit-text,.DocSearch-Hit[aria-selected=true] .DocSearch-Hit-title,.DocSearch-Hit[aria-selected=true] mark{color:var(--docsearch-hit-active-color)!important}.DocSearch-ErrorScreen,.DocSearch-NoResults,.DocSearch-StartScreen{font-size:.9em;margin:0 auto;padding:36px 0;text-align:center;width:80%}.DocSearch-Screen-Icon{color:var(--docsearch-muted-color);padding-bottom:12px}.DocSearch-NoResults-Prefill-List{display:inline-block;padding-bottom:24px;text-align:left}.DocSearch-NoResults-Prefill-List ul{display:inline-block;padding:8px 0 0}.DocSearch-NoResults-Prefill-List li{list-style-position:inside;list-style-type:"» "}.DocSearch-Prefill{appearance:none;background:none;border:0;border-radius:1em;color:var(--docsearch-highlight-color);cursor:pointer;display:inline-block;font-size:1em;font-weight:700;padding:0}.DocSearch-Prefill:focus,.DocSearch-Prefill:hover{outline:0;text-decoration:underline}.DocSearch-Footer{align-items:center;background:var(--docsearch-footer-background);border-radius:0 0 8px 8px;box-shadow:var(--docsearch-footer-shadow);display:flex;flex-direction:row-reverse;flex-shrink:0;height:var(--docsearch-footer-height);justify-content:space-between;padding:0 var(--docsearch-spacing);position:relative;-webkit-user-select:none;user-select:none;width:100%;z-index:300}.DocSearch-Commands li,.DocSearch-Commands-Key{align-items:center;display:flex}.DocSearch-Commands{color:var(--docsearch-muted-color);display:flex;list-style:none;margin:0;padding:0}.DocSearch-Commands li:not(:last-of-type){margin-right:.8em}.DocSearch-Commands-Key{background:var(--docsearch-key-gradient);border:0;border-radius:2px;box-shadow:var(--docsearch-key-shadow);color:var(--docsearch-muted-color);height:18px;justify-content:center;margin-right:.4em;padding:0 0 1px;width:20px}.DocSearch-VisuallyHiddenForAccessibility{clip:rect(0 0 0 0);clip-path:inset(50%);height:1px;overflow:hidden;position:absolute;white-space:nowrap;width:1px}.DocSearch-Button{margin:0;transition:all var(--ifm-transition-fast) var(--ifm-transition-timing-default)}.DocSearch-Container,.skipToContent_fXgn{z-index:calc(var(--ifm-z-index-fixed) + 1)}.skipToContent_fXgn{background-color:var(--ifm-background-surface-color);color:var(--ifm-color-emphasis-900);left:100%;padding:calc(var(--ifm-global-spacing)/2) var(--ifm-global-spacing);position:fixed;top:1rem}.skipToContent_fXgn:focus{box-shadow:var(--ifm-global-shadow-md);left:1rem}.closeButton_CVFx{line-height:0;padding:0}.content_knG7{font-size:85%;padding:5px 0;text-align:center}.content_knG7 a{color:inherit}.announcementBar_mb4j{align-items:center;background-color:var(--ifm-color-white);border-bottom:1px solid var(--ifm-color-emphasis-100);color:var(--ifm-color-black);display:flex;height:var(--docusaurus-announcement-bar-height)}.announcementBarPlaceholder_vyr4{flex:0 0 10px}.announcementBarClose_gvF7{align-self:stretch;flex:0 0 30px}.toggle_vylO{height:2rem;width:2rem}.toggleButton_gllP{align-items:center;border-radius:50%;display:flex;height:100%;justify-content:center;transition:background var(--ifm-transition-fast);width:100%}.toggleButton_gllP:hover{background:var(--ifm-color-emphasis-200)}.toggleButtonDisabled_aARS{cursor:not-allowed}.darkNavbarColorModeToggle_X3D1:hover{background:var(--ifm-color-gray-800)}[data-theme=dark] .themedComponent--dark_xIcU,[data-theme=light] .themedComponent--light_NVdE,html:not([data-theme]) .themedComponent--light_NVdE{display:initial}[data-theme=dark]:root{--docusaurus-collapse-button-bg:#ffffff0d;--docusaurus-collapse-button-bg-hover:#ffffff1a}.collapseSidebarButton_PEFL{display:none;margin:0}.iconExternalLink_nPIU{margin-left:.3rem}.docMainContainer_TBSr,.docRoot_UBD9{display:flex;width:100%}.docsWrapper_hBAB{display:flex;flex:1 0 auto}.dropdownNavbarItemMobile_S0Fm{cursor:pointer}.iconLanguage_nlXk{margin-right:5px;vertical-align:text-bottom}.navbarHideable_m1mJ{transition:transform var(--ifm-transition-fast) ease}.navbarHidden_jGov{transform:translate3d(0,calc(-100% - 2px),0)}.errorBoundaryError_a6uf{color:red;white-space:pre-wrap}.errorBoundaryFallback_VBag{color:red;padding:.55rem}.footerLogoLink_BH7S{opacity:.5;transition:opacity var(--ifm-transition-fast) var(--ifm-transition-timing-default)}body:not(.navigation-with-keyboard) :not(input):focus{outline:0}.anchorWithStickyNavbar_LWe7{scroll-margin-top:calc(var(--ifm-navbar-height) + .5rem)}.anchorWithHideOnScrollNavbar_WYt5{scroll-margin-top:.5rem}.hash-link{opacity:0;padding-left:.5rem;transition:opacity var(--ifm-transition-fast);-webkit-user-select:none;user-select:none}.hash-link:before{content:"#"}.mainWrapper_z2l0{display:flex;flex:1 0 auto;flex-direction:column}.docusaurus-mt-lg{margin-top:3rem}#__docusaurus{display:flex;flex-direction:column;min-height:100%}#start-page-content{align-items:center;display:flex;height:100%;justify-content:center;margin-left:-20px;overflow:hidden;position:absolute;text-align:center;top:0;width:100%}#start-page-title{transition:1s}.homepage>body>#__docusaurus>nav,.invisible-component,.playground-expanded>#playground-title>b,.start-page-title-not-visible{opacity:0}#start-page-main{margin-top:15px;position:relative}.start-page-text{cursor:pointer;font-size:20px;margin-left:70px;margin-top:10px;opacity:0;position:absolute;text-align:left;transition:1s;-webkit-user-select:none;user-select:none;width:100%}.start-page-large-text{font-size:21px}.start-page-small-text{font-size:18px}.start-page-code{color:var(--start-text-code-color)}.buttonGroup__atx button,.codeBlockContainer_Ckt0{background:var(--prism-background-color);color:var(--prism-color)}.start-page-display-logos>div:first-child,.start-page-main-details{transition:1s}.start-page-main-details>div{cursor:auto;margin-left:70px;position:relative;transition:1s;-webkit-user-select:auto;user-select:auto}.start-page-main-details.start-page-main-details-fade-out{opacity:0;transition:.7s}.start-page-logos{display:flex;margin-left:0!important;margin-top:20px}.start-page-display-logos>div:nth-child(2){transition:1s .1s}.start-page-display-logos>div:nth-child(3){transition:1s .2s}.start-page-display-logos>div:nth-child(4){transition:1s .3s}.start-page-display-logos>div:nth-child(5){transition:1s .4s}.start-page-display-logos>div:nth-child(6){transition:1s .5s}.start-page-display-logos>div:nth-child(7){transition:1s .6s}.start-page-display-logos>div:nth-child(8){transition:1s .7s}.start-page-logo{margin-right:20px;opacity:0;transition:1s}.start-page-hoverable-logos>.start-page-logo{transition:.1s!important}.start-page-navigation{font-size:17px;-webkit-user-select:none!important;user-select:none!important}.start-page-navigation:hover{color:var(--start-text-color-hover)}.start-page-navigation.start-page-navigation-hoverable{transition:.1s}.start-page-main-pointer-events{pointer-events:all}.codeBlockContainer_Ckt0{border-radius:var(--ifm-code-border-radius);box-shadow:var(--ifm-global-shadow-lw);margin-bottom:var(--ifm-leading)}.codeBlockContent_biex{border-radius:inherit;direction:ltr;position:relative}.codeBlockTitle_Ktv7{border-bottom:1px solid var(--ifm-color-emphasis-300);border-top-left-radius:inherit;border-top-right-radius:inherit;font-size:var(--ifm-code-font-size);font-weight:500;padding:.75rem var(--ifm-pre-padding)}.codeBlock_bY9V{--ifm-pre-background:var(--prism-background-color);margin:0;padding:0}.codeBlockLines_e6Vv{float:left;font:inherit;min-width:100%;padding:var(--ifm-pre-padding)}.codeBlockLinesWithNumbering_o6Pm{display:table;padding:var(--ifm-pre-padding) 0}.buttonGroup__atx{column-gap:.2rem;display:flex;position:absolute;right:calc(var(--ifm-pre-padding)/2);top:calc(var(--ifm-pre-padding)/2)}.buttonGroup__atx button{align-items:center;border:1px solid var(--ifm-color-emphasis-300);border-radius:var(--ifm-global-radius);display:flex;line-height:0;opacity:0;padding:.4rem;transition:opacity var(--ifm-transition-fast) ease-in-out}.buttonGroup__atx button:focus-visible,.buttonGroup__atx button:hover{opacity:1!important}.theme-code-block:hover .buttonGroup__atx button{opacity:.4}:where(:root){--docusaurus-highlighted-code-line-bg:#484d5b}:where([data-theme=dark]){--docusaurus-highlighted-code-line-bg:#646464}.theme-code-block-highlighted-line{background-color:var(--docusaurus-highlighted-code-line-bg);display:block;margin:0 calc(var(--ifm-pre-padding)*-1);padding:0 var(--ifm-pre-padding)}.codeLine_lJS_{counter-increment:a;display:table-row}.codeLineNumber_Tfdd{background:var(--ifm-pre-background);display:table-cell;left:0;overflow-wrap:normal;padding:0 var(--ifm-pre-padding);position:sticky;text-align:right;width:1%}.codeLineNumber_Tfdd:before{content:counter(a);opacity:.4}.codeLineContent_feaV{padding-right:var(--ifm-pre-padding)}.theme-code-block:hover .copyButtonCopied_obH4{opacity:1!important}.copyButtonIcons_eSgA{height:1.125rem;position:relative;width:1.125rem}.copyButtonIcon_y97N,.copyButtonSuccessIcon_LjdS{left:0;position:absolute;top:0;fill:currentColor;height:inherit;opacity:inherit;transition:all var(--ifm-transition-fast) ease;width:inherit}.copyButtonSuccessIcon_LjdS{color:#00d600;left:50%;opacity:0;top:50%;transform:translate(-50%,-50%) scale(.33)}.copyButtonCopied_obH4 .copyButtonIcon_y97N{opacity:0;transform:scale(.33)}.copyButtonCopied_obH4 .copyButtonSuccessIcon_LjdS{opacity:1;transform:translate(-50%,-50%) scale(1);transition-delay:75ms}.wordWrapButtonIcon_Bwma{height:1.2rem;width:1.2rem}.details_lb9f{--docusaurus-details-summary-arrow-size:0.38rem;--docusaurus-details-transition:transform 200ms ease;--docusaurus-details-decoration-color:grey}.details_lb9f>summary{cursor:pointer;list-style:none;padding-left:1rem;position:relative}.details_lb9f>summary::-webkit-details-marker{display:none}.details_lb9f>summary:before{border-color:#0000 #0000 #0000 var(--docusaurus-details-decoration-color);border-style:solid;border-width:var(--docusaurus-details-summary-arrow-size);content:"";left:0;position:absolute;top:.45rem;transform:rotate(0);transform-origin:calc(var(--docusaurus-details-summary-arrow-size)/2) 50%;transition:var(--docusaurus-details-transition)}.collapsibleContent_i85q{border-top:1px solid var(--docusaurus-details-decoration-color);margin-top:1rem;padding-top:1rem}.details_b_Ee{--docusaurus-details-decoration-color:var(--ifm-alert-border-color);--docusaurus-details-transition:transform var(--ifm-transition-fast) ease;border:1px solid var(--ifm-alert-border-color);margin:0 0 var(--ifm-spacing-vertical)}.containsTaskList_mC6p{list-style:none}.img_ev3q{height:auto}.admonition_xJq3{margin-bottom:1em}.admonitionHeading_Gvgb{font:var(--ifm-heading-font-weight) var(--ifm-h5-font-size)/var(--ifm-heading-line-height) var(--ifm-heading-font-family)}.admonitionHeading_Gvgb:not(:last-child){margin-bottom:.3rem}.admonitionHeading_Gvgb code{text-transform:none}.admonitionIcon_Rf37{display:inline-block;margin-right:.4em;vertical-align:middle}.admonitionIcon_Rf37 svg{display:inline-block;height:1.6em;width:1.6em;fill:var(--ifm-alert-foreground-color)}.breadcrumbHomeIcon_YNFT{height:1.1rem;position:relative;top:1px;vertical-align:top;width:1.1rem}.breadcrumbsContainer_Z_bl{--ifm-breadcrumb-size-multiplier:0.8;margin-bottom:.8rem}.searchQueryInput_u2C7,.searchVersionInput_m0Ui{background:var(--docsearch-searchbox-focus-background);border:2px solid var(--ifm-toc-border-color);border-radius:var(--ifm-global-radius);color:var(--docsearch-text-color);font:var(--ifm-font-size-base) var(--ifm-font-family-base);margin-bottom:.5rem;padding:.8rem;transition:border var(--ifm-transition-fast) ease;width:100%}.searchQueryInput_u2C7:focus,.searchVersionInput_m0Ui:focus{border-color:var(--docsearch-primary-color);outline:0}.searchQueryInput_u2C7::placeholder{color:var(--docsearch-muted-color)}.searchResultsColumn_JPFH{font-size:.9rem;font-weight:700}.algoliaLogo_rT1R{max-width:150px}.algoliaLogoPathFill_WdUC{fill:var(--ifm-font-color-base)}.searchResultItem_Tv2o{border-bottom:1px solid var(--ifm-toc-border-color);padding:1rem 0}.searchResultItemHeading_KbCB{font-weight:400;margin-bottom:0}.searchResultItemPath_lhe1{color:var(--ifm-color-content-secondary);font-size:.8rem;--ifm-breadcrumb-separator-size-multiplier:1}.searchResultItemSummary_AEaO{font-style:italic;margin:.5rem 0 0}.loadingSpinner_XVxU{animation:1s linear infinite b;border:.4em solid #eee;border-radius:50%;border-top:.4em solid var(--ifm-color-primary);height:3rem;margin:0 auto;width:3rem}@keyframes b{to{transform:rotate(1turn)}}.loader_vvXV{margin-top:2rem}.search-result-match{background:#ffd78e40;color:var(--docsearch-hit-color);padding:.09em 0}.playground{background:var(--playground-background);overflow-x:hidden!important}.playground-panorama{margin:auto;padding-bottom:50px}#playground-title{margin-bottom:60px;margin-top:30px;position:relative;text-align:center;width:100vw}#playground-chat-list{overflow-x:auto;overflow-y:hidden;position:relative;scroll-behavior:smooth;width:88vw}.playground-chat-list-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(400px,1fr))}.playground-chat-list-expanded{display:grid;width:90vw!important}#playground-chat-list:empty{height:440px}.playground-chat-list-expanded:empty{height:20vw!important}#playground-chat-list::-webkit-scrollbar{height:8px}#playground-chat-list::-webkit-scrollbar-track{background-color:var(--playground-chat-list-scrollbar-background)}#playground-chat-list::-webkit-scrollbar-thumb{background-color:var(--playground-chat-list-scrollbar-thumb-background);border-radius:10px}.playground-button{-webkit-user-drag:none;user-select:none;-moz-user-select:none;-webkit-user-select:none;-ms-user-select:none}#chat-wrapper-configuration-tooltip{background-color:#fff;box-shadow:0 2px 1px -1px #0003,0 1px 1px 0 #00000024,0 1px 3px 0 #0000001f;color:#000000de;font-size:11px;padding:3px 10px;z-index:100}.playground-expanded>#playground-title{margin-bottom:10px!important;margin-top:0!important}.not-displayed{display:none}.displayed{display:block!important}.homepage-button{border:unset;border-radius:3px!important;text-decoration:none!important;transition:.1s!important;-webkit-user-select:none;user-select:none}.header-font{font-family:inter_webfont,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,Noto Sans,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji}.fade-in{animation:1.8s c!important}@keyframes c{0%{opacity:0}to{opacity:1}}@media (min-height:880px){#start-page-connect-to-custom.start-page-main-details-expanded,#start-page-connect-to-popular.start-page-main-details-expanded{height:520px}#start-page-create-component.start-page-main-details-expanded,#start-page-web-model.start-page-main-details-expanded{height:450px}}@media (min-width:997px){.collapseSidebarButton_PEFL,.expandButton_TmdG{background-color:var(--docusaurus-collapse-button-bg)}.lastUpdated_JAkA{text-align:right}.tocMobile_ITEo{display:none}:root{--docusaurus-announcement-bar-height:30px}.announcementBarClose_gvF7,.announcementBarPlaceholder_vyr4{flex-basis:50px}.collapseSidebarButton_PEFL{border:1px solid var(--ifm-toc-border-color);border-radius:0;bottom:0;display:block!important;height:40px;position:sticky}.collapseSidebarButtonIcon_kv0_{margin-top:4px;transform:rotate(180deg)}.expandButtonIcon_i1dp,[dir=rtl] .collapseSidebarButtonIcon_kv0_{transform:rotate(0)}.collapseSidebarButton_PEFL:focus,.collapseSidebarButton_PEFL:hover,.expandButton_TmdG:focus,.expandButton_TmdG:hover{background-color:var(--docusaurus-collapse-button-bg-hover)}.menuHtmlItem_M9Kj{padding:var(--ifm-menu-link-padding-vertical) var(--ifm-menu-link-padding-horizontal)}.menu_SIkG{flex-grow:1;padding:.5rem}@supports (scrollbar-gutter:stable){.menu_SIkG{padding:.5rem 0 .5rem .5rem;scrollbar-gutter:stable}}.menuWithAnnouncementBar_GW3s{margin-bottom:var(--docusaurus-announcement-bar-height)}.sidebar_njMd{display:flex;flex-direction:column;height:100%;padding-top:var(--ifm-navbar-height);width:var(--doc-sidebar-width)}.sidebarWithHideableNavbar_wUlq{padding-top:0}.sidebarHidden_VK0M{opacity:0;visibility:hidden}.sidebarLogo_isFc{align-items:center;color:inherit!important;display:flex!important;margin:0 var(--ifm-navbar-padding-horizontal);max-height:var(--ifm-navbar-height);min-height:var(--ifm-navbar-height);text-decoration:none!important}.sidebarLogo_isFc img{height:2rem;margin-right:.5rem}.expandButton_TmdG{align-items:center;display:flex;height:100%;justify-content:center;position:absolute;right:0;top:0;transition:background-color var(--ifm-transition-fast) ease;width:100%}[dir=rtl] .expandButtonIcon_i1dp{transform:rotate(180deg)}.docSidebarContainer_YfHR{border-right:1px solid var(--ifm-toc-border-color);clip-path:inset(0);display:block;margin-top:calc(var(--ifm-navbar-height)*-1);transition:width var(--ifm-transition-fast) ease;width:var(--doc-sidebar-width);will-change:width}.docSidebarContainerHidden_DPk8{cursor:pointer;width:var(--doc-sidebar-hidden-width)}.sidebarViewport_aRkj{height:100%;max-height:100vh;position:sticky;top:0}.docMainContainer_TBSr{flex-grow:1;max-width:calc(100% - var(--doc-sidebar-width))}.docMainContainerEnhanced_lQrH{max-width:calc(100% - var(--doc-sidebar-hidden-width))}.docItemWrapperEnhanced_JWYK{max-width:calc(var(--ifm-container-width) + var(--doc-sidebar-width))!important}.navbarSearchContainer_Bca1{padding:var(--ifm-navbar-item-padding-vertical) var(--ifm-navbar-item-padding-horizontal)}.docItemCol_VOVn{max-width:75%!important}}@media (min-width:1440px){.container{max-width:var(--ifm-container-width-xl)}}@media (max-width:2450px){#playground-chat-list{width:2000px}.playground-chat-list-grid{display:block;grid-template-columns:unset}}@media (max-width:2050px){#playground-chat-list{width:1600px}}@media (max-width:1934px){#media-diagonal-padding{transform:skewY(5deg)}}@media (max-width:1800px){.feature-panel{padding:0}}@media (max-width:1650px){#playground-chat-list{width:1200px}}@media (max-width:1478px){.capture-panels-distributed #capture-files-left-panel deep-chat{margin-right:200px}.capture-panels-distributed #capture-files-right-panel .capture-files-text{margin-left:132px}#connect-left-panel deep-chat{margin-right:260px}#connect-text{margin-left:80px}}@media (max-width:1425px){#footer{margin-left:0}}@media (max-width:1320px){.capture-panels-distributed #capture-files-left-panel deep-chat{margin-right:170px}.capture-panels-distributed #capture-files-right-panel .capture-files-text{margin-left:102px}.capture-panels-close #capture-files-left-panel deep-chat{margin-right:118px}.capture-panels-close #capture-files-right-panel .capture-files-text{margin-left:-30px}#connect-left-panel deep-chat{margin-right:230px}#connect-text{margin-left:50px}.connect-panels-close #connect-panels #connect-left-panel deep-chat{margin-right:110px}.connect-panels-close #connect-panels #connect-right-panel #connect-text{margin-left:-10px}}@media (max-width:1250px){#start-panel-sub-header{font-size:2.3rem}#start-panel-animation-content-container{padding-left:10px}#playground-chat-list{width:800px}#start-panel-right-table{width:100%!important}}@media (max-width:1160px){.capture-panels-distributed #capture-files-left-panel deep-chat{margin-right:140px}.capture-panels-distributed #capture-files-right-panel .capture-files-text{margin-left:72px}.capture-panels-close #capture-files-left-panel deep-chat,.connect-panels-close #connect-panels #connect-left-panel deep-chat{margin-right:90px}.capture-panels-close #capture-files-right-panel .capture-files-text{margin-left:-10px}#customize-content deep-chat{margin-left:15px;margin-right:15px}#connect-left-panel deep-chat{margin-right:170px}#connect-text{margin-left:10px}.connect-panels-close #connect-panels #connect-right-panel #connect-text{margin-left:-20px}#speech-text{margin-right:14px}#speech-right-panel deep-chat{margin-left:110px}#media-text{margin-right:-20px;min-width:460px}#media-panel-right{padding-left:120px}}@media (max-height:1100px){#playground-service-modal{margin-top:28px}}@media (max-width:1100px){.playground-chat-config-buttons>*{opacity:1}.capture-panels-close #capture-files-left-panel deep-chat{margin-right:75px}.capture-panels-close #capture-files-right-panel .capture-files-text{margin-left:-10px;min-width:440px}#customize-content deep-chat{margin-left:10px;margin-right:10px}#connect-left-panel deep-chat{margin-right:140px}#connect-text{margin-left:20px}.connect-panels-close #connect-panels #connect-left-panel deep-chat{margin-right:70px}.connect-panels-close #connect-panels #connect-right-panel #connect-text{margin-left:0}#speech-text{margin-right:10px}#speech-right-panel deep-chat{margin-left:100px}#media-panel-right{padding-left:100px}}@media (max-width:1070px){#customize-content deep-chat:nth-child(2){display:none}#customize-content deep-chat{margin-left:40px;margin-right:40px}}@media (max-width:1050px){.capture-panels-distributed #capture-files-left-panel deep-chat{margin-right:65px}.capture-panels-distributed #capture-files-right-panel .capture-files-text{margin-left:28px}.capture-panels-close #capture-files-left-panel deep-chat{margin-right:40px}.capture-panels-close #capture-files-right-panel .capture-files-text{margin-left:-15px}#connect-left-panel deep-chat{margin-right:90px}#connect-text{margin-left:40px}.connect-panels-close #connect-panels #connect-left-panel deep-chat{margin-right:30px}.connect-panels-close #connect-panels #connect-right-panel #connect-text{margin-left:10px}#speech-text{margin-right:-20px}#speech-right-panel deep-chat{margin-left:70px}#media-text{margin-right:-15px;min-width:420px}#media-panel-right{padding-left:70px}}@media (max-width:1000px){#start-page-connect-to-custom{width:680px}}@media (max-width:996px){.col{--ifm-col-width:100%;flex-basis:var(--ifm-col-width);margin-left:0}.footer{--ifm-footer-padding-horizontal:0}.colorModeToggle_DEke,.footer__link-separator,.navbar__item,.tableOfContents_bqdL{display:none}.footer__col{margin-bottom:calc(var(--ifm-spacing-vertical)*3)}.footer__link-item{display:block}.hero{padding-left:0;padding-right:0}.navbar>.container,.navbar>.container-fluid{padding:0}.navbar__toggle{display:inherit}.navbar__search-input{width:9rem}.pills--block,.tabs--block{flex-direction:column}.docItemContainer_F8PC{padding:0 .3rem}.navbarSearchContainer_Bca1{position:absolute;right:var(--ifm-navbar-padding-horizontal)}}@media only screen and (max-width:996px){.searchQueryColumn_RTkw,.searchResultsColumn_JPFH{max-width:60%!important}.searchLogoColumn_rJIA,.searchVersionColumn_ypXd{max-width:40%!important}.searchLogoColumn_rJIA{padding-left:0!important}}@media (max-width:945px){#start-panel-content{top:48%}#features-container{display:none}#start-panel{border-bottom-left-radius:unset;border-bottom-right-radius:unset;height:calc(100vh - 98px)}#footer{background-color:var(--homepage-background);text-align:center}#explore-button-container{display:none!important}}@media (max-width:890px){#start-page-connect-to-popular{width:600px}}@media (max-height:880px){.playground-modal{max-height:700px;overflow:auto}}@media (max-width:880px){#start-panel-animation-content-container{width:590px}#start-panel-header{font-size:3.3rem}#start-panel-sub-header{font-size:2rem}.start-panel-component-center{margin-left:120px}.start-panel-logos-left{left:345px}}@media (max-width:850px){#playground-view-button{display:none}#playground-chat-list{overflow:unset;width:400px}.playground-panorama{padding-bottom:5px}.playground-chat-list-panorama{display:block}}@media (max-height:830px){#start-panel-content{top:43%}#start-panel-animation-content-container{margin-top:60px}}@media (max-width:815px){#start-page-connect-to-custom{width:600px}}@media (max-height:800px){.playground-add-button-container-panorama{margin-top:25px}.playground-panorama{padding-bottom:0}.playground-panorama>#playground-title{margin-bottom:50px;margin-top:-20px}}@media (max-height:770px){.playground-modal{max-height:630px}#start-panel-content{top:45%}}@media (max-width:768px){.DocSearch-Button-Keys,.DocSearch-Button-Placeholder,.DocSearch-Commands,.DocSearch-Hit-Tree{display:none}:root{--docsearch-spacing:10px;--docsearch-footer-height:40px}.DocSearch-Dropdown{height:100%;max-height:calc(var(--docsearch-vh,1vh)*100 - var(--docsearch-searchbox-height) - var(--docsearch-spacing) - var(--docsearch-footer-height))}.DocSearch-Container{height:100vh;height:-webkit-fill-available;height:calc(var(--docsearch-vh,1vh)*100);position:absolute}.DocSearch-Footer{border-radius:0;bottom:0;position:absolute}.DocSearch-Hit-content-wrapper{display:flex;position:relative;width:80%}.DocSearch-Modal{border-radius:0;box-shadow:none;height:100vh;height:-webkit-fill-available;height:calc(var(--docsearch-vh,1vh)*100);margin:0;max-width:100%;width:100%}.DocSearch-Cancel{appearance:none;background:none;border:0;color:var(--docsearch-highlight-color);cursor:pointer;display:inline-block;flex:none;font:inherit;font-size:1em;font-weight:500;margin-left:var(--docsearch-spacing);outline:0;overflow:hidden;padding:0;-webkit-user-select:none;user-select:none;white-space:nowrap}}@media (max-width:760px){#start-page-content{margin-left:0}}@media (max-height:755px){.playground-grid>#playground-title{margin-bottom:39px;margin-top:28px}}@media (max-width:753px){#start-panel{min-height:512px}#start-panel-header{font-size:2.9rem;margin-top:10px}#start-panel-sub-header{font-size:1.6rem;margin-left:4%;width:92%}#start-panel-animation-content-container{margin-left:-5px}}@media (max-height:730px){.playground-chat-wrapper{height:434px}.playground-chat-details{padding-top:11px}.playground-grid>#playground-title{margin-bottom:26px;margin-top:17px}#playground-chat-list:empty{height:428px}}@media (max-width:720px){#start-panel-animation-content-container{margin-left:-10px;padding-left:0;width:500px}.start-panel-component-center{margin-left:110px}}@media (max-height:705px){#start-panel-animation-content-container{margin-top:40px}}@media (max-height:700px){#start-page-connect-to-custom,#start-page-connect-to-popular,#start-page-create-component,#start-page-options,#start-page-web-model{height:130px}#start-page-connect-to-custom.start-page-main-details-expanded,#start-page-connect-to-popular.start-page-main-details-expanded{height:400px}.playground-add-button-container-grid{margin-bottom:30px}#start-page-requirements{margin-top:20px}#start-page-connect-to-custom-navigation,#start-page-web-model-navigation{margin-top:30px}#start-page-create-component.start-page-main-details-expanded{height:340px}.playground-modal{max-height:560px}.playground-grid>#playground-title,.playground-panorama>#playground-title{margin-bottom:10px;margin-top:0}}@media (max-width:694px){#start-panel-animation-content-container{margin-left:-20px}}@media (max-height:670px){.playground-add-button-container-grid{margin-bottom:0;margin-top:0}.playground-add-button-container-panorama{margin-top:10px}.playground-chat-wrapper{height:425px}#start-panel-animation-content-container{margin-top:30px}}@media (max-width:670px){#start-page-connect-to-popular{width:500px}#start-page-connect-to-popular-navigation-left{padding-left:10px}#start-page-connect-to-popular-navigation-right{padding-right:10px}}@media (max-width:650px){#start-panel-animation-content-container{margin-left:-30px}}@media (max-width:641px){#start-panel-sub-header{margin-left:0;width:100%}}@media (max-height:630px){.playground-modal{max-height:490px}}@media (max-width:630px){#start-panel-animation-content-container{margin-left:-35px}}@media ((max-width:620px) or (max-height:540px)) or ((max-width:820px) and (max-height:700px)){#start-page-main{display:none}#start-page-small-screen{display:block}}@media (max-width:620px){#start-panel-animation-content-container{margin-left:-45px}#start-page-content{margin-left:20px}}@media (max-width:605px){#start-panel-sub-header{margin-left:-5%;width:109%}}@media (max-width:594px){#start-panel-animation-content-container{margin-left:-50px}}@media (max-height:590px){#start-page-connect-to-popular.start-page-main-details-expanded{height:370px;margin-bottom:0}#start-page-connect-to-popular-navigation-right{padding-right:100px}#start-page-connect-to-popular-navigation-right.start-page-main-details-visible{padding-right:60px}#start-page-connect-to-popular-navigation-right:hover{padding-right:64px}#start-page-connect-to-custom.start-page-main-details-expanded{height:370px}#start-page-connect-to-custom-navigation,#start-page-connect-to-popular>.start-page-connect-to-popular-navigation,#start-page-web-model-navigation{margin-top:15px}#start-page-web-model{width:420px}#start-page-web-model.start-page-main-details-expanded{height:320px}#start-page-web-model-intro{font-size:20px}.start-page-web-model-slide{font-size:21px!important;left:142px}#start-page-web-model>.start-page-web-model-slide-visible{left:92px}#start-page-web-model>.start-page-web-model-slide-visible-out{left:42px}#start-page-create-component.start-page-main-details-expanded{height:290px}#start-page-create-component-next{margin-left:-50px;margin-top:20px}#start-page-create-component-next.start-page-main-details-visible{margin-left:-50px}#start-page-create-component-next:hover{margin-left:-86px}#start-page-title{font-size:29px}.start-page-text{font-size:18px}.start-page-large-text{font-size:19px}.start-page-small-text{font-size:17px}.start-page-logos{left:-4px;margin-top:8px}.start-page-logo{margin-right:9px;transform:scale(.8)}.start-page-navigation{font-size:16px}}@media (max-width:580px){#start-panel-animation-content-container{margin-left:-57px}}@media (max-width:576px){.markdown h1:first-child{--ifm-h1-font-size:2rem}.markdown>h2{--ifm-h2-font-size:1.5rem}.markdown>h3{--ifm-h3-font-size:1.25rem}}@media screen and (max-width:576px){.searchQueryColumn_RTkw{max-width:100%!important}.searchVersionColumn_ypXd{max-width:100%!important;padding-left:var(--ifm-spacing-horizontal)!important}}@media (max-width:575px){.component-key-toggle-button-container,.documentation-example-container,.documentation-video,.tabs-container,h4.anchor{display:none}}@media (max-width:573px){#start-panel-animation-content-container{margin-left:-63px}}@media (max-width:562px){#start-panel-animation-content-container{margin-left:-67px}}@media (max-height:560px){.playground-modal{max-height:420px}}@media (max-width:557px){#start-panel-animation-content-container{display:none}#small-screen-component{display:flex;margin-top:5px}#start-panel-content{left:0;width:100%}#start-panel{min-height:483px}#start-panel-header{margin-bottom:10px}#start-panel-sub-header{margin-bottom:5px;margin-left:4%;width:92%}}@media (max-width:520px){.playground-modal{width:400px!important}}@media (max-width:513px){#small-screen-component{margin-top:10px}#start-panel{min-height:479px}#start-panel-content{top:50%}#footer{padding-left:5px;padding-right:5px}}@media (max-height:500px){#playground-service-modal{margin-top:30px}}@media (max-width:500px){#playground-header-buttons{top:6px}}@media (max-height:490px){.playground-modal{max-height:350px}}@media (max-height:480px){#playground-information-modal{margin-top:30px}}@media (max-height:420px){.playground-modal{max-height:280px}}@media (max-width:415px){#small-screen-component{margin-top:-5px}#start-panel{height:calc(100vh - 121px)!important;min-height:472px}}@media (max-width:410px){#playground-information-modal{padding-left:20px;padding-right:30px}.playground-select>div,.playground-service-modal-input{width:160px}.playground-modal{width:350px!important}}@media (max-width:380px){#playground-information-modal{padding-left:10px;padding-right:20px}}@media (max-width:350px){.playground-select>div,.playground-service-modal-input{width:110px}.playground-modal{width:300px!important}}@media (max-width:348px){#start-panel{min-height:461px}#start-panel-content{top:52%}#start-panel-sub-header{margin-bottom:0}#small-screen-component{margin-top:-10px;transform:scale(.8)}}@media (max-width:314px){#start-buttons{display:grid;text-align:center}.start-button{margin-left:auto;margin-right:auto!important}.start-button:nth-child(2){margin-top:10px}}@media (max-width:286px){#small-screen-component{margin-top:-25px}}@media (max-width:286px) and (max-height:380px){#small-screen-component{display:none}#small-screen-deep-chat-logo{display:block;margin-top:5px}#start-panel{min-height:358px}}@media (max-width:260px){#start-panel{min-height:400px}#start-panel-content{top:46%}#start-panel-sub-header{margin-top:5px}#small-screen-component{display:none}#small-screen-deep-chat-logo{display:block}}@media (max-width:232px){#start-panel{height:calc(100vh - 144px)!important}}@media (hover:hover){.backToTopButton_sjWU:hover{background-color:var(--ifm-color-emphasis-300)}}@media (pointer:fine){.thin-scrollbar{scrollbar-width:thin}.thin-scrollbar::-webkit-scrollbar{height:var(--ifm-scrollbar-size);width:var(--ifm-scrollbar-size)}.thin-scrollbar::-webkit-scrollbar-track{background:var(--ifm-scrollbar-track-background-color);border-radius:10px}.thin-scrollbar::-webkit-scrollbar-thumb{background:var(--ifm-scrollbar-thumb-background-color);border-radius:10px}.thin-scrollbar::-webkit-scrollbar-thumb:hover{background:var(--ifm-scrollbar-thumb-hover-background-color)}}@media (prefers-reduced-motion:reduce){:root{--ifm-transition-fast:0ms;--ifm-transition-slow:0ms}}@media screen and (prefers-reduced-motion:reduce){.DocSearch-Reset{animation:none;appearance:none;background:none;border:0;border-radius:50%;color:var(--docsearch-icon-color);cursor:pointer;right:0;stroke-width:var(--docsearch-icon-stroke-width)}.DocSearch-Hit--deleting,.DocSearch-Hit--favoriting{transition:none}.DocSearch-Hit-action-button:focus,.DocSearch-Hit-action-button:hover{background:#0003;transition:none}}@media print{.announcementBar_mb4j,.footer,.menu,.navbar,.pagination-nav,.table-of-contents,.tocMobile_ITEo{display:none}.tabs{page-break-inside:avoid}.codeBlockLines_e6Vv{white-space:pre-wrap}}
\ No newline at end of file
diff --git a/assets/js/08c9246a.16bf04ff.js b/assets/js/08c9246a.16bf04ff.js
new file mode 100644
index 000000000..5dedc84ad
--- /dev/null
+++ b/assets/js/08c9246a.16bf04ff.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([[8770],{41360:(A,e,s)=>{s.r(e),s.d(e,{assets:()=>f,contentTitle:()=>p,default:()=>B,frontMatter:()=>u,metadata:()=>m,toc:()=>g});var t=s(74848),i=s(28453),n=s(59906),r=s(70983),a=s(8812),o=s(1841),d=s(96226),l=s(82126),c=s(19646),h=s(17235);const u={sidebar_position:1},p="Frameworks",m={id:"examples/frameworks",title:"Frameworks",description:"The following are links to live UI frameworks/libraries that can be used to implement Deep Chat.",source:"@site/docs/examples/frameworks.mdx",sourceDirName:"examples",slug:"/examples/frameworks",permalink:"/examples/frameworks",draft:!1,unlisted:!1,editUrl:"https://github.com/OvidijusParsiunas/deep-chat/tree/main/website/docs/examples/frameworks.mdx",tags:[],version:"current",sidebarPosition:1,frontMatter:{sidebar_position:1},sidebar:"examples",previous:{title:"Design",permalink:"/examples/design"},next:{title:"Servers",permalink:"/examples/servers"}},f={},g=[{value:"React",id:"react",level:2},{value:"Vue",id:"vue",level:2},{value:"Svelte",id:"svelte",level:2},{value:"Angular",id:"angular",level:2},{value:"Solid",id:"solid",level:2},{value:"Next",id:"next",level:2},{value:"Nuxt",id:"nuxt",level:2},{value:"Vanilla JS",id:"vanilla-js",level:2},{value:"Troubleshooting",id:"troubleshooting",level:2}];function x(A){const e={a:"a",code:"code",em:"em",h1:"h1",h2:"h2",header:"header",p:"p",strong:"strong",...(0,i.R)(),...A.components};return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(e.header,{children:(0,t.jsx)(e.h1,{id:"frameworks",children:"Frameworks"})}),"\n",(0,t.jsx)(e.p,{children:"The following are links to live UI frameworks/libraries that can be used to implement Deep Chat."}),"\n","\n",(0,t.jsx)("img",{src:n.A,width:"30",style:{float:"left",marginRight:"10px",marginTop:"26px"}}),"\n",(0,t.jsx)(e.h2,{id:"react",children:"React"}),"\n",(0,t.jsxs)(e.p,{children:["Make sure to use the ",(0,t.jsx)(e.code,{children:"deep-chat-react"})," package and define the element tag as ",(0,t.jsx)(e.code,{children:"DeepChat"}),"."]}),"\n",(0,t.jsxs)(e.p,{children:[(0,t.jsx)(e.a,{href:"https://stackblitz.com/edit/deep-chat-react?file=src%2FApp.tsx",children:"Click for Live Example"})," ",(0,t.jsx)("br",{}),"\n",(0,t.jsx)(e.a,{href:"https://github.com/OvidijusParsiunas/deep-chat/tree/main/example-servers/ui",children:"Click for GitHub"})]}),"\n",(0,t.jsx)("img",{src:r.A,width:"28",style:{float:"left",marginRight:"10px",marginTop:"27px"}}),"\n",(0,t.jsx)(e.h2,{id:"vue",children:"Vue"}),"\n",(0,t.jsxs)(e.p,{children:["Depending on your configuration, you may notice a ",(0,t.jsx)(e.em,{children:'"Failed to resolve component..."'})," warning in the console. This can be fixed by following\nthe simple steps outlined ",(0,t.jsx)(e.a,{href:"https://vuejs.org/guide/extras/web-components.html#using-custom-elements-in-vue",children:"here"}),"."]}),"\n",(0,t.jsxs)(e.p,{children:[(0,t.jsx)(e.a,{href:"https://stackblitz.com/edit/deep-chat-vue3?file=src%2FApp.vue",children:"Click for Live Example - Vue 3"})," ",(0,t.jsx)("br",{}),"\n",(0,t.jsx)(e.a,{href:"https://codesandbox.io/s/deep-chat-vue2-cdqpt2?file=/src/App.vue",children:"Click for Live Example - Vue 2"})]}),"\n",(0,t.jsx)("img",{src:a.A,width:"23",style:{float:"left",marginRight:"13px",marginTop:"25px"}}),"\n",(0,t.jsx)(e.h2,{id:"svelte",children:"Svelte"}),"\n",(0,t.jsxs)(e.p,{children:["The Svelte browser app should work right out of the box. The SvelteKit implementation requires the component to be imported using ",(0,t.jsx)(e.code,{children:"onMount"})," and\n",(0,t.jsx)(e.code,{children:"deep-chat"})," to be rendered when it has loaded."]}),"\n",(0,t.jsxs)(e.p,{children:[(0,t.jsx)(e.a,{href:"https://stackblitz.com/edit/deep-chat-svelte?file=src%2FApp.svelte",children:"Click for Live Example - Svelte"})," ",(0,t.jsx)("br",{}),"\n",(0,t.jsx)(e.a,{href:"https://stackblitz.com/edit/deep-chat-sveltekit?file=src%2Froutes%2F%2Bpage.svelte",children:"Click for Live Example - SvelteKit"})]}),"\n",(0,t.jsx)("img",{src:o.A,width:"36",style:{float:"left",marginRight:"9px",marginTop:"22px"}}),"\n",(0,t.jsx)(e.h2,{id:"angular",children:"Angular"}),"\n",(0,t.jsxs)(e.p,{children:["Please add the ",(0,t.jsx)(e.code,{children:"CUSTOM_ELEMENTS_SCHEMA"})," into your module's ",(0,t.jsx)(e.code,{children:"schemas"})," array and import the component\nas ",(0,t.jsx)(e.code,{children:"import 'deep-chat';"}),". See this ",(0,t.jsx)(e.a,{href:"https://www.thisdot.co/blog/how-to-integrate-web-components-using-lit-in-angular",children:"blog"})," for more information."]}),"\n",(0,t.jsx)(e.p,{children:(0,t.jsx)(e.a,{href:"https://stackblitz.com/edit/stackblitz-starters-7gygrp?file=src%2Fapp%2Fapp.component.ts",children:"Click for Live Example"})}),"\n",(0,t.jsx)("img",{src:d.A,width:"28",style:{float:"left",marginRight:"12px",marginTop:"25px"}}),"\n",(0,t.jsx)(e.h2,{id:"solid",children:"Solid"}),"\n",(0,t.jsxs)(e.p,{children:["Make sure to declare a ",(0,t.jsx)(e.code,{children:"solid-js"})," module when working with TypeScript and use hyphen-case syntax for properties that are accessed directly through markup."]}),"\n",(0,t.jsx)(e.p,{children:(0,t.jsx)(e.a,{href:"https://stackblitz.com/edit/deep-chat-solid?file=src%2FApp.tsx",children:"Click for Live Example"})}),"\n",(0,t.jsx)("img",{src:l.A,width:"28",style:{float:"left",marginRight:"12px",marginTop:"25px"}}),"\n",(0,t.jsx)(e.h2,{id:"next",children:"Next"}),"\n",(0,t.jsxs)(e.p,{children:["Use the ",(0,t.jsx)(e.code,{children:"deep-chat-react"})," package and lazy load it using Next's ",(0,t.jsx)(e.code,{children:"dynamic"})," extension. ",(0,t.jsx)("br",{}),"\nWhen using ",(0,t.jsx)(e.a,{href:"https://nextjs.org/docs/app",children:"App Router"})," - make sure to set ",(0,t.jsx)(e.code,{children:'"use client"'})," at the top of your file."]}),"\n",(0,t.jsxs)(e.p,{children:[(0,t.jsx)(e.a,{href:"https://stackblitz.com/edit/deep-chat-nextjs-app?file=app%2Fpage.tsx",children:"Click for Live Example - App Router"})," ",(0,t.jsx)("br",{}),"\n",(0,t.jsx)(e.a,{href:"https://stackblitz.com/edit/deep-chat-nextjs?file=pages%2Findex.tsx",children:"Click for Live Example - Pages Router"})," ",(0,t.jsx)("br",{}),"\n",(0,t.jsx)(e.a,{href:"https://github.com/OvidijusParsiunas/deep-chat/tree/main/example-servers/nextjs",children:"Click for GitHub"})]}),"\n",(0,t.jsx)("img",{src:c.A,width:"32",style:{float:"left",marginRight:"10px",marginTop:"27px"}}),"\n",(0,t.jsx)(e.h2,{id:"nuxt",children:"Nuxt"}),"\n",(0,t.jsxs)(e.p,{children:["Make sure to import ",(0,t.jsx)(e.code,{children:"deep-chat"})," dynamically using ",(0,t.jsx)(e.code,{children:"await import"})," along with the ",(0,t.jsx)(e.code,{children:"process.client"})," check. ",(0,t.jsx)("br",{})]}),"\n",(0,t.jsxs)(e.p,{children:[(0,t.jsx)(e.a,{href:"https://stackblitz.com/edit/nuxt-starter-vwz6pg?file=app.vue",children:"Click for Live Example"})," ",(0,t.jsx)("br",{})]}),"\n",(0,t.jsx)("img",{src:h.A,width:"28",style:{float:"left",marginRight:"12px",marginTop:"25px"}}),"\n",(0,t.jsx)(e.h2,{id:"vanilla-js",children:"Vanilla JS"}),"\n",(0,t.jsx)(e.p,{children:"The Live Example demonstrates how to set values via properties (recommended) and attributes, which should also be used as a\nfallback approach for other frameworks. This example also demonstrates how to import the component via a CDN."}),"\n",(0,t.jsx)(e.p,{children:(0,t.jsx)(e.a,{href:"https://codesandbox.io/s/deep-chat-vanillajs-v2ywnv?file=/index.html",children:"Click for Live Example"})}),"\n",(0,t.jsx)(e.h2,{id:"troubleshooting",children:"Troubleshooting"}),"\n",(0,t.jsxs)(e.p,{children:["If your platform has not been listed and Vanilla JS approach does not work as fallback, or if you are having issues with any of\nthe existing examples; please see ",(0,t.jsx)(e.a,{href:"https://github.com/OvidijusParsiunas/deep-chat/issues",children:(0,t.jsx)(e.strong,{children:"github issues"})})," or create\na ",(0,t.jsx)(e.a,{href:"https://github.com/OvidijusParsiunas/deep-chat/issues/new",children:(0,t.jsx)(e.strong,{children:"new issue ticket"})})," and we will look into\nit as soon as possible."]})]})}function B(A={}){const{wrapper:e}={...(0,i.R)(),...A.components};return e?(0,t.jsx)(e,{...A,children:(0,t.jsx)(x,{...A})}):x(A)}},1841:(A,e,s)=>{s.d(e,{A:()=>t});const t="data:image/png;base64,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"},82126:(A,e,s)=>{s.d(e,{A:()=>t});const t="data:image/png;base64,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"},19646:(A,e,s)=>{s.d(e,{A:()=>t});const t=s.p+"assets/images/nuxtLogo-dbed17702e291e3f05999549d9e4691d.png"},59906:(A,e,s)=>{s.d(e,{A:()=>t});const t=s.p+"assets/images/reactLogo-c622f19c9471227dcd4152a28afc40ad.png"},96226:(A,e,s)=>{s.d(e,{A:()=>t});const t=s.p+"assets/images/solidLogo-b5069c3b4351b62d70edc786bc9ed123.png"},8812:(A,e,s)=>{s.d(e,{A:()=>t});const t=s.p+"assets/images/svelteLogo-58bc2f231d79b09f68d503ec3fe5228f.png"},17235:(A,e,s)=>{s.d(e,{A:()=>t});const t=s.p+"assets/images/vanillaJSLogo-266bd9fb2663dcc057b43c239a73e01b.png"},70983:(A,e,s)=>{s.d(e,{A:()=>t});const t="data:image/png;base64,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"},28453:(A,e,s)=>{s.d(e,{R:()=>r,x:()=>a});var t=s(96540);const i={},n=t.createContext(i);function r(A){const e=t.useContext(n);return t.useMemo((function(){return"function"==typeof A?A(e):{...e,...A}}),[e,A])}function a(A){let e;return e=A.disableParentContext?"function"==typeof A.components?A.components(i):A.components||i:r(A.components),t.createElement(n.Provider,{value:e},A.children)}}}]);
\ No newline at end of file
diff --git a/assets/js/08c9246a.5d4e4d4c.js b/assets/js/08c9246a.5d4e4d4c.js
deleted file mode 100644
index 92702b01a..000000000
--- a/assets/js/08c9246a.5d4e4d4c.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([[8770],{41360:(A,e,s)=>{s.r(e),s.d(e,{assets:()=>f,contentTitle:()=>p,default:()=>B,frontMatter:()=>u,metadata:()=>m,toc:()=>g});var t=s(74848),i=s(28453),n=s(59906),r=s(70983),a=s(8812),o=s(1841),d=s(96226),l=s(82126),c=s(19646),h=s(17235);const u={sidebar_position:1},p="Frameworks",m={id:"examples/frameworks",title:"Frameworks",description:"The following are links to live UI frameworks/libraries that can be used to implement Deep Chat.",source:"@site/docs/examples/frameworks.mdx",sourceDirName:"examples",slug:"/examples/frameworks",permalink:"/examples/frameworks",draft:!1,unlisted:!1,editUrl:"https://github.com/OvidijusParsiunas/deep-chat/tree/main/website/docs/examples/frameworks.mdx",tags:[],version:"current",sidebarPosition:1,frontMatter:{sidebar_position:1},sidebar:"examples",previous:{title:"Design",permalink:"/examples/design"},next:{title:"Servers",permalink:"/examples/servers"}},f={},g=[{value:"React",id:"react",level:2},{value:"Vue",id:"vue",level:2},{value:"Svelte",id:"svelte",level:2},{value:"Angular",id:"angular",level:2},{value:"Solid",id:"solid",level:2},{value:"Next",id:"next",level:2},{value:"Nuxt",id:"nuxt",level:2},{value:"Vanilla JS",id:"vanilla-js",level:2},{value:"Troubleshooting",id:"troubleshooting",level:2}];function x(A){const e={a:"a",code:"code",em:"em",h1:"h1",h2:"h2",p:"p",strong:"strong",...(0,i.R)(),...A.components};return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(e.h1,{id:"frameworks",children:"Frameworks"}),"\n",(0,t.jsx)(e.p,{children:"The following are links to live UI frameworks/libraries that can be used to implement Deep Chat."}),"\n","\n",(0,t.jsx)("img",{src:n.A,width:"30",style:{float:"left",marginRight:"10px",marginTop:"26px"}}),"\n",(0,t.jsx)(e.h2,{id:"react",children:"React"}),"\n",(0,t.jsxs)(e.p,{children:["Make sure to use the ",(0,t.jsx)(e.code,{children:"deep-chat-react"})," package and define the element tag as ",(0,t.jsx)(e.code,{children:"DeepChat"}),"."]}),"\n",(0,t.jsxs)(e.p,{children:[(0,t.jsx)(e.a,{href:"https://stackblitz.com/edit/deep-chat-react?file=src%2FApp.tsx",children:"Click for Live Example"})," ",(0,t.jsx)("br",{}),"\n",(0,t.jsx)(e.a,{href:"https://github.com/OvidijusParsiunas/deep-chat/tree/main/example-servers/ui",children:"Click for GitHub"})]}),"\n",(0,t.jsx)("img",{src:r.A,width:"28",style:{float:"left",marginRight:"10px",marginTop:"27px"}}),"\n",(0,t.jsx)(e.h2,{id:"vue",children:"Vue"}),"\n",(0,t.jsxs)(e.p,{children:["Depending on your configuration, you may notice a ",(0,t.jsx)(e.em,{children:'"Failed to resolve component..."'})," warning in the console. This can be fixed by following\nthe simple steps outlined ",(0,t.jsx)(e.a,{href:"https://vuejs.org/guide/extras/web-components.html#using-custom-elements-in-vue",children:"here"}),"."]}),"\n",(0,t.jsxs)(e.p,{children:[(0,t.jsx)(e.a,{href:"https://stackblitz.com/edit/deep-chat-vue3?file=src%2FApp.vue",children:"Click for Live Example - Vue 3"})," ",(0,t.jsx)("br",{}),"\n",(0,t.jsx)(e.a,{href:"https://codesandbox.io/s/deep-chat-vue2-cdqpt2?file=/src/App.vue",children:"Click for Live Example - Vue 2"})]}),"\n",(0,t.jsx)("img",{src:a.A,width:"23",style:{float:"left",marginRight:"13px",marginTop:"25px"}}),"\n",(0,t.jsx)(e.h2,{id:"svelte",children:"Svelte"}),"\n",(0,t.jsxs)(e.p,{children:["The Svelte browser app should work right out of the box. The SvelteKit implementation requires the component to be imported using ",(0,t.jsx)(e.code,{children:"onMount"})," and\n",(0,t.jsx)(e.code,{children:"deep-chat"})," to be rendered when it has loaded."]}),"\n",(0,t.jsxs)(e.p,{children:[(0,t.jsx)(e.a,{href:"https://stackblitz.com/edit/deep-chat-svelte?file=src%2FApp.svelte",children:"Click for Live Example - Svelte"})," ",(0,t.jsx)("br",{}),"\n",(0,t.jsx)(e.a,{href:"https://stackblitz.com/edit/deep-chat-sveltekit?file=src%2Froutes%2F%2Bpage.svelte",children:"Click for Live Example - SvelteKit"})]}),"\n",(0,t.jsx)("img",{src:o.A,width:"36",style:{float:"left",marginRight:"9px",marginTop:"22px"}}),"\n",(0,t.jsx)(e.h2,{id:"angular",children:"Angular"}),"\n",(0,t.jsxs)(e.p,{children:["Please add the ",(0,t.jsx)(e.code,{children:"CUSTOM_ELEMENTS_SCHEMA"})," into your module's ",(0,t.jsx)(e.code,{children:"schemas"})," array and import the component\nas ",(0,t.jsx)(e.code,{children:"import 'deep-chat';"}),". See this ",(0,t.jsx)(e.a,{href:"https://www.thisdot.co/blog/how-to-integrate-web-components-using-lit-in-angular",children:"blog"})," for more information."]}),"\n",(0,t.jsx)(e.p,{children:(0,t.jsx)(e.a,{href:"https://stackblitz.com/edit/stackblitz-starters-7gygrp?file=src%2Fapp%2Fapp.component.ts",children:"Click for Live Example"})}),"\n",(0,t.jsx)("img",{src:d.A,width:"28",style:{float:"left",marginRight:"12px",marginTop:"25px"}}),"\n",(0,t.jsx)(e.h2,{id:"solid",children:"Solid"}),"\n",(0,t.jsxs)(e.p,{children:["Make sure to declare a ",(0,t.jsx)(e.code,{children:"solid-js"})," module when working with TypeScript and use hyphen-case syntax for properties that are accessed directly through markup."]}),"\n",(0,t.jsx)(e.p,{children:(0,t.jsx)(e.a,{href:"https://stackblitz.com/edit/deep-chat-solid?file=src%2FApp.tsx",children:"Click for Live Example"})}),"\n",(0,t.jsx)("img",{src:l.A,width:"28",style:{float:"left",marginRight:"12px",marginTop:"25px"}}),"\n",(0,t.jsx)(e.h2,{id:"next",children:"Next"}),"\n",(0,t.jsxs)(e.p,{children:["Use the ",(0,t.jsx)(e.code,{children:"deep-chat-react"})," package and lazy load it using Next's ",(0,t.jsx)(e.code,{children:"dynamic"})," extension. ",(0,t.jsx)("br",{}),"\nWhen using ",(0,t.jsx)(e.a,{href:"https://nextjs.org/docs/app",children:"App Router"})," - make sure to set ",(0,t.jsx)(e.code,{children:'"use client"'})," at the top of your file."]}),"\n",(0,t.jsxs)(e.p,{children:[(0,t.jsx)(e.a,{href:"https://stackblitz.com/edit/deep-chat-nextjs-app?file=app%2Fpage.tsx",children:"Click for Live Example - App Router"})," ",(0,t.jsx)("br",{}),"\n",(0,t.jsx)(e.a,{href:"https://stackblitz.com/edit/deep-chat-nextjs?file=pages%2Findex.tsx",children:"Click for Live Example - Pages Router"})," ",(0,t.jsx)("br",{}),"\n",(0,t.jsx)(e.a,{href:"https://github.com/OvidijusParsiunas/deep-chat/tree/main/example-servers/nextjs",children:"Click for GitHub"})]}),"\n",(0,t.jsx)("img",{src:c.A,width:"32",style:{float:"left",marginRight:"10px",marginTop:"27px"}}),"\n",(0,t.jsx)(e.h2,{id:"nuxt",children:"Nuxt"}),"\n",(0,t.jsxs)(e.p,{children:["Make sure to import ",(0,t.jsx)(e.code,{children:"deep-chat"})," dynamically using ",(0,t.jsx)(e.code,{children:"await import"})," along with the ",(0,t.jsx)(e.code,{children:"process.client"})," check. ",(0,t.jsx)("br",{})]}),"\n",(0,t.jsxs)(e.p,{children:[(0,t.jsx)(e.a,{href:"https://stackblitz.com/edit/nuxt-starter-vwz6pg?file=app.vue",children:"Click for Live Example"})," ",(0,t.jsx)("br",{})]}),"\n",(0,t.jsx)("img",{src:h.A,width:"28",style:{float:"left",marginRight:"12px",marginTop:"25px"}}),"\n",(0,t.jsx)(e.h2,{id:"vanilla-js",children:"Vanilla JS"}),"\n",(0,t.jsx)(e.p,{children:"The Live Example demonstrates how to set values via properties (recommended) and attributes, which should also be used as a\nfallback approach for other frameworks. This example also demonstrates how to import the component via a CDN."}),"\n",(0,t.jsx)(e.p,{children:(0,t.jsx)(e.a,{href:"https://codesandbox.io/s/deep-chat-vanillajs-v2ywnv?file=/index.html",children:"Click for Live Example"})}),"\n",(0,t.jsx)(e.h2,{id:"troubleshooting",children:"Troubleshooting"}),"\n",(0,t.jsxs)(e.p,{children:["If your platform has not been listed and Vanilla JS approach does not work as fallback, or if you are having issues with any of\nthe existing examples; please see ",(0,t.jsx)(e.a,{href:"https://github.com/OvidijusParsiunas/deep-chat/issues",children:(0,t.jsx)(e.strong,{children:"github issues"})})," or create\na ",(0,t.jsx)(e.a,{href:"https://github.com/OvidijusParsiunas/deep-chat/issues/new",children:(0,t.jsx)(e.strong,{children:"new issue ticket"})})," and we will look into\nit as soon as possible."]})]})}function B(A={}){const{wrapper:e}={...(0,i.R)(),...A.components};return e?(0,t.jsx)(e,{...A,children:(0,t.jsx)(x,{...A})}):x(A)}},1841:(A,e,s)=>{s.d(e,{A:()=>t});const t="data:image/png;base64,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"},82126:(A,e,s)=>{s.d(e,{A:()=>t});const t="data:image/png;base64,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"},19646:(A,e,s)=>{s.d(e,{A:()=>t});const t=s.p+"assets/images/nuxtLogo-dbed17702e291e3f05999549d9e4691d.png"},59906:(A,e,s)=>{s.d(e,{A:()=>t});const t=s.p+"assets/images/reactLogo-c622f19c9471227dcd4152a28afc40ad.png"},96226:(A,e,s)=>{s.d(e,{A:()=>t});const t=s.p+"assets/images/solidLogo-b5069c3b4351b62d70edc786bc9ed123.png"},8812:(A,e,s)=>{s.d(e,{A:()=>t});const t=s.p+"assets/images/svelteLogo-58bc2f231d79b09f68d503ec3fe5228f.png"},17235:(A,e,s)=>{s.d(e,{A:()=>t});const t=s.p+"assets/images/vanillaJSLogo-266bd9fb2663dcc057b43c239a73e01b.png"},70983:(A,e,s)=>{s.d(e,{A:()=>t});const t="data:image/png;base64,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"},28453:(A,e,s)=>{s.d(e,{R:()=>r,x:()=>a});var t=s(96540);const i={},n=t.createContext(i);function r(A){const e=t.useContext(n);return t.useMemo((function(){return"function"==typeof A?A(e):{...e,...A}}),[e,A])}function a(A){let e;return e=A.disableParentContext?"function"==typeof A.components?A.components(i):A.components||i:r(A.components),t.createElement(n.Provider,{value:e},A.children)}}}]);
\ No newline at end of file
diff --git a/assets/js/0c5b3199.b72c7bf5.js b/assets/js/0c5b3199.b72c7bf5.js
deleted file mode 100644
index a65754b59..000000000
--- a/assets/js/0c5b3199.b72c7bf5.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([[8911],{12431:(A,e,t)=>{t.r(e),t.d(e,{assets:()=>x,contentTitle:()=>h,default:()=>j,frontMatter:()=>g,metadata:()=>p,toc:()=>v});var s=t(74848),r=t(28453),n=t(33495),i=t(58427),a=t(65986),o=t(21967),c=t(25798),d=t(82126),l=t(8812);const g={sidebar_position:2},h="Servers",p={id:"examples/servers",title:"Servers",description:"The following are example backend projects that are preconfigured to work with Deep Chat. Each one includes a variety of endpoints",source:"@site/docs/examples/servers.mdx",sourceDirName:"examples",slug:"/examples/servers",permalink:"/examples/servers",draft:!1,unlisted:!1,editUrl:"https://github.com/OvidijusParsiunas/deep-chat/tree/main/website/docs/examples/servers.mdx",tags:[],version:"current",sidebarPosition:2,frontMatter:{sidebar_position:2},sidebar:"examples",previous:{title:"Frameworks",permalink:"/examples/frameworks"},next:{title:"External Modules",permalink:"/examples/externalModules"}},x={},v=[{value:"Express",id:"express",level:2},{value:"Nest",id:"nest",level:2},{value:"Spring Boot",id:"spring-boot",level:2},{value:"Go",id:"go",level:2},{value:"Flask",id:"flask",level:2},{value:"Next",id:"next",level:2},{value:"SvelteKit",id:"sveltekit",level:2},{value:"Troubleshooting",id:"troubleshooting",level:2}];function u(A){const e={a:"a",h1:"h1",h2:"h2",p:"p",strong:"strong",...(0,r.R)(),...A.components};return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(e.h1,{id:"servers",children:"Servers"}),"\n","\n",(0,s.jsxs)(e.p,{children:["The following are example backend projects that are preconfigured to work with Deep Chat. Each one includes a variety of endpoints\nthat can be used to host your own service or act as a proxy for the following AI APIs - ",(0,s.jsx)(e.a,{href:"https://openai.com/blog/openai-api",children:"OpenAI"}),",\n",(0,s.jsx)(e.a,{href:"https://huggingface.co/docs/api-inference/index",children:"HuggingFace"}),", ",(0,s.jsx)(e.a,{href:"https://docs.cohere.com/docs",children:"Cohere"}),"."]}),"\n",(0,s.jsxs)(e.p,{children:["The projects are setup to work with the example ",(0,s.jsx)(e.a,{href:"https://github.com/OvidijusParsiunas/deep-chat/tree/main/example-servers/ui",children:"UI project"}),".\nOnce the server and UI are both running - they should be able to communicate with each other right out of the box."]}),"\n",(0,s.jsx)("img",{src:i.A,className:"adaptive-logo-filter",width:"41",style:{float:"left",marginRight:"7px",marginTop:"19px"}}),"\n",(0,s.jsx)(e.h2,{id:"express",children:"Express"}),"\n",(0,s.jsxs)(e.p,{children:["JavaScript project that uses Node's ",(0,s.jsx)(e.a,{href:"https://expressjs.com/",children:"ExpressJS"})," framework:"]}),"\n",(0,s.jsx)(e.p,{children:(0,s.jsx)(e.a,{href:"https://github.com/OvidijusParsiunas/deep-chat/tree/main/example-servers/node/express",children:"Click for GitHub Project"})}),"\n",(0,s.jsx)("img",{src:n.A,width:"38",style:{float:"left",marginRight:"8px",marginTop:"21px"}}),"\n",(0,s.jsx)(e.h2,{id:"nest",children:"Nest"}),"\n",(0,s.jsxs)(e.p,{children:["JavaScript project that uses Node's ",(0,s.jsx)(e.a,{href:"https://nestjs.com/",children:"NestJS"})," framework:"]}),"\n",(0,s.jsx)(e.p,{children:(0,s.jsx)(e.a,{href:"https://github.com/OvidijusParsiunas/deep-chat/tree/main/example-servers/node/nestjs",children:"Click for GitHub Project"})}),"\n",(0,s.jsx)("img",{src:a.A,width:"36",style:{float:"left",marginRight:"8px",marginLeft:"1px",marginTop:"23px"}}),"\n",(0,s.jsx)(e.h2,{id:"spring-boot",children:"Spring Boot"}),"\n",(0,s.jsxs)(e.p,{children:["Java project that uses the ",(0,s.jsx)(e.a,{href:"https://spring.io/projects/spring-boot",children:"Spring Boot"})," framework:"]}),"\n",(0,s.jsx)(e.p,{children:(0,s.jsx)(e.a,{href:"https://github.com/OvidijusParsiunas/deep-chat/tree/main/example-servers/java/springboot",children:"Click for GitHub Project"})}),"\n",(0,s.jsx)("img",{src:o.A,width:"20",style:{float:"left",marginRight:"9px",marginLeft:"4px",marginTop:"25px"}}),"\n",(0,s.jsx)(e.h2,{id:"go",children:"Go"}),"\n",(0,s.jsxs)(e.p,{children:[(0,s.jsx)(e.a,{href:"https://go.dev/",children:"Go"})," project that uses the native ",(0,s.jsx)(e.a,{href:"https://pkg.go.dev/net/http",children:"http"})," package:"]}),"\n",(0,s.jsx)(e.p,{children:(0,s.jsx)(e.a,{href:"https://github.com/OvidijusParsiunas/deep-chat/tree/main/example-servers/go",children:"Click for GitHub Project"})}),"\n",(0,s.jsx)("img",{src:c.A,className:"adaptive-logo-filter",width:"27",style:{float:"left",marginRight:"7px",marginLeft:"3px",marginTop:"25px"}}),"\n",(0,s.jsx)(e.h2,{id:"flask",children:"Flask"}),"\n",(0,s.jsxs)(e.p,{children:["Python project that uses the ",(0,s.jsx)(e.a,{href:"https://flask.palletsprojects.com/en/2.3.x/",children:"Flask"})," framework:"]}),"\n",(0,s.jsx)(e.p,{children:(0,s.jsx)(e.a,{href:"https://github.com/OvidijusParsiunas/deep-chat/tree/main/example-servers/python/flask",children:"Click for GitHub Project"})}),"\n",(0,s.jsx)("img",{src:d.A,className:"adaptive-logo-filter",width:"28",style:{float:"left",marginRight:"8px",marginTop:"25px"}}),"\n",(0,s.jsx)(e.h2,{id:"next",children:"Next"}),"\n",(0,s.jsxs)(e.p,{children:["JavaScript project that uses the ",(0,s.jsx)(e.a,{href:"https://nextjs.org/",children:"Next"})," framework. This project does not need to use the UI example mentioned above\nas it already contains all of the required code. Additionally, it is ready to be deployed to a hosting platform\nsuch as ",(0,s.jsx)(e.a,{href:"https://vercel.com/",children:"Vercel"}),":"]}),"\n",(0,s.jsx)(e.p,{children:(0,s.jsx)(e.a,{href:"https://github.com/OvidijusParsiunas/deep-chat/tree/main/example-servers/nextjs",children:"Click for GitHub Project"})}),"\n",(0,s.jsx)("img",{src:l.A,width:"23",style:{float:"left",marginRight:"10px",marginTop:"25px"}}),"\n",(0,s.jsx)(e.h2,{id:"sveltekit",children:"SvelteKit"}),"\n",(0,s.jsxs)(e.p,{children:["TypeScript project that uses the ",(0,s.jsx)(e.a,{href:"https://kit.svelte.dev/",children:"SvelteKit"})," framework. This project does not need to use the UI example mentioned above\nas it already contains all of the required code. Additionally, it is ready to be deployed to a hosting platform\nsuch as ",(0,s.jsx)(e.a,{href:"https://vercel.com/",children:"Vercel"}),":"]}),"\n",(0,s.jsx)(e.p,{children:(0,s.jsx)(e.a,{href:"https://github.com/OvidijusParsiunas/deep-chat/tree/main/example-servers/sveltekit",children:"Click for GitHub Project"})}),"\n",(0,s.jsx)(e.h2,{id:"troubleshooting",children:"Troubleshooting"}),"\n",(0,s.jsxs)(e.p,{children:["If you are experiencing issueswith any of the examples - please see ",(0,s.jsx)(e.a,{href:"https://github.com/OvidijusParsiunas/deep-chat/issues",children:(0,s.jsx)(e.strong,{children:"github issues"})})," or create\na ",(0,s.jsx)(e.a,{href:"https://github.com/OvidijusParsiunas/deep-chat/issues/new",children:(0,s.jsx)(e.strong,{children:"new issue ticket"})})," and we will look into\nit as soon as possible."]})]})}function j(A={}){const{wrapper:e}={...(0,r.R)(),...A.components};return e?(0,s.jsx)(e,{...A,children:(0,s.jsx)(u,{...A})}):u(A)}},58427:(A,e,t)=>{t.d(e,{A:()=>s});const s=t.p+"assets/images/expressLogo-e3d4f9e5c8b469e458380477a2401024.png"},25798:(A,e,t)=>{t.d(e,{A:()=>s});const s=t.p+"assets/images/flaskLogo-7f66c78e2193b7d986815c893edd15f7.png"},21967:(A,e,t)=>{t.d(e,{A:()=>s});const s="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAN0AAAEsCAMAAABwo0YgAAADAFBMVEVHcEwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABBgYJExMOHyAWLzIYNTgPIiMNHB0EDA0ECQkAAAAAAAAAAAAAAAAAAAAAAAAAAAAYMzUhRUkrWl41a3FAgolKmJ9SqLBausRgxc9jzNZn095o1eBiydRfwsxSpa5HkplDiI86d30yaG0jSEwHDxABAgIAAAAAAAARJCYdPUApVls4dHpFjpVTqrNdwMls3ehx6PRv5O9u4u5u4ext3+pr2+Zr3Ods3upv4+5w5vFXs7w7eoAtXmMVLC4AAAA9f4VPoqtcvcZq2uVw5vJq2eVp1+Jt4Oxv5fFl0NsoUlYAAAAaNzpWsLlu4e0cOj1Mm6MmT1MTKCplztkkS08AAAA2b3UAAABp2ONDi5IAAAAAAABBho0AAABr2+dUrbZp1uFOn6dauMIvYWYKGRoIFRcYEhArKSk7OTkhHh4LBwdYtb4AAABbWlqLiou7u7vb29vt7e339/f+/v76+vrz8/Pp6enS0tKlpaV1dHRhx9F8e3vHx8f///+Ojo42NDQTDw8dQERHRkatra22trYgQ0bPz8/h4eHl5eXW1taGhoZVVFRDQUAjIiN18fwVFBVnZ2eysrIdFxQxZGkwLy+XlpadnZySkZGDgoJNTE25uLhIlZxy6vbLy8uAf38PCgteXl0HBgYFAgFhYGDBwcEbGhwAAABubm4kHRhOkZkxSU1FeoBqWkd/bVY0LCPGqYOGc1ktJh4tPkHStIv/26n/46+LdlxMQTPhwJT/4a7/3qvYuY9zYkysk3P306P51KT/3aqchWc6MSegiWr61qX20aL20qK5n3z/4K3kw5ZhUkElMDT+2aeymHWVf2J7aVL816bBpX9CcHVFOzDoxplSRjfLrobcvJHzz6CPel9ANiqmjm1NjZRaTTz/57IYDAXty53/7riJmnnbAAAAxXRSTlMABRUsP1hohaO72fL/9sK0ro+KYFAaCgMQMmyn3/D7////////////6dSWeFvJ5f/////////////////////////////tf/////////////////////////////84//////////////8m////////////Q/9J//+cIP9x///////////////////Q////////////////////////////////////////////////////////////////////////////Y0s4BUsAACHYSURBVHgB1NeDmvNMGIDhuk32rda2zdrmxMU66No2D/wzfrO8L5d5goGsxOQKpUqt0eowvA6+0+M4bjCazPWahkaVsqlZVnNaWtsa2+s7DJ1d3fBZT29f/8BXg0N9Q8MjPfBVd93oGDY+MalqktdEWLNSPaGbmtbDJyN9M7Nz8wuLSxarze74yuZ0Ol0uy5Lb4/X55wIDg8HQ58rwmCmiVlZzolw5WY916j9nRWPxRDKVdtoRQZAUzSDEfsMhhDIZhqazZI4gMg6bK7+4vDK7OgIAdXhH+1o13qrNa+0dXx6uodjc+samjRdy5KcoVpT+ksiiTIHaIjLbmxu+nZlhgO5O3eRuVaXtNujwboDevTnvvpUjyAOG46V/ReSYg60t++aify8IEMbaqyWwbcIQ/lR26D9KiwJJZ0TpP2MZKiduJo8HAbqMDYqKpyknpvQAJyuLabRFMbz0//EMSdqO5j4FdpqVlUxTNGB6CK3Op7a3SEaUigeR5OniWRD0HecVuyPNnQDRi5REUqxUdIg8sCT6ALDGSrRdmrohuHNk36J4qTSuCrlT7yqAUVXuiU2NAfRdbB6QrFRKSHBcr0L3zW054xoNAKt3p1uFK6nUWMGx0AfT9y2/n2BbW0uxslkzfmpL2gUklQUrOP09gLXJfmpVTegMU/jYFHbTXtzFW5NZD9E7+9ZDsStEnvuM5X93Q2SEx0MIt39/Ki5vOuGTkeHhHgDoNtw3FS1OjUPwwiYUt+3qgREI9HT62fbVAZFF/K/fJ68SI2D6XNGiNgD0rK7cPectLylPItALMKr91/N+823b5flvd19NHQCBFwIVNQ0J9Gn+7nW2/+39k769nYtFlygUfjV/ckLqBMbWZJeGz5NQ/ilLUIVMprBFZKzXMQBc/S/K5KqIsbNOD6Dvwk0R1Y87+xKHoWTm4DdHJ/Isl8kg9iOrZuHWxrau8eP6bj1+KgmWbN84BJfsYiVZUULRJJMJhx2KXE7Yt5IKG6th9cGhFGmh7pINR/+r2xCZWWTCTJ7n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"},33495:(A,e,t)=>{t.d(e,{A:()=>s});const s=t.p+"assets/images/nestLogo-386ee71e3f957f836203cfc510d01a5c.png"},82126:(A,e,t)=>{t.d(e,{A:()=>s});const s="data:image/png;base64,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"},65986:(A,e,t)=>{t.d(e,{A:()=>s});const s="data:image/png;base64,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"},8812:(A,e,t)=>{t.d(e,{A:()=>s});const s=t.p+"assets/images/svelteLogo-58bc2f231d79b09f68d503ec3fe5228f.png"},28453:(A,e,t)=>{t.d(e,{R:()=>i,x:()=>a});var s=t(96540);const r={},n=s.createContext(r);function i(A){const e=s.useContext(n);return s.useMemo((function(){return"function"==typeof A?A(e):{...e,...A}}),[e,A])}function a(A){let e;return e=A.disableParentContext?"function"==typeof A.components?A.components(r):A.components||r:i(A.components),s.createElement(n.Provider,{value:e},A.children)}}}]);
\ No newline at end of file
diff --git a/assets/js/0c5b3199.c0c0ad5d.js b/assets/js/0c5b3199.c0c0ad5d.js
new file mode 100644
index 000000000..49884f4e2
--- /dev/null
+++ b/assets/js/0c5b3199.c0c0ad5d.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([[8911],{12431:(A,e,t)=>{t.r(e),t.d(e,{assets:()=>x,contentTitle:()=>h,default:()=>j,frontMatter:()=>g,metadata:()=>p,toc:()=>v});var s=t(74848),r=t(28453),n=t(33495),i=t(58427),a=t(65986),o=t(21967),c=t(25798),d=t(82126),l=t(8812);const g={sidebar_position:2},h="Servers",p={id:"examples/servers",title:"Servers",description:"The following are example backend projects that are preconfigured to work with Deep Chat. Each one includes a variety of endpoints",source:"@site/docs/examples/servers.mdx",sourceDirName:"examples",slug:"/examples/servers",permalink:"/examples/servers",draft:!1,unlisted:!1,editUrl:"https://github.com/OvidijusParsiunas/deep-chat/tree/main/website/docs/examples/servers.mdx",tags:[],version:"current",sidebarPosition:2,frontMatter:{sidebar_position:2},sidebar:"examples",previous:{title:"Frameworks",permalink:"/examples/frameworks"},next:{title:"External Modules",permalink:"/examples/externalModules"}},x={},v=[{value:"Express",id:"express",level:2},{value:"Nest",id:"nest",level:2},{value:"Spring Boot",id:"spring-boot",level:2},{value:"Go",id:"go",level:2},{value:"Flask",id:"flask",level:2},{value:"Next",id:"next",level:2},{value:"SvelteKit",id:"sveltekit",level:2},{value:"Troubleshooting",id:"troubleshooting",level:2}];function u(A){const e={a:"a",h1:"h1",h2:"h2",header:"header",p:"p",strong:"strong",...(0,r.R)(),...A.components};return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(e.header,{children:(0,s.jsx)(e.h1,{id:"servers",children:"Servers"})}),"\n","\n",(0,s.jsxs)(e.p,{children:["The following are example backend projects that are preconfigured to work with Deep Chat. Each one includes a variety of endpoints\nthat can be used to host your own service or act as a proxy for the following AI APIs - ",(0,s.jsx)(e.a,{href:"https://openai.com/blog/openai-api",children:"OpenAI"}),",\n",(0,s.jsx)(e.a,{href:"https://huggingface.co/docs/api-inference/index",children:"HuggingFace"}),", ",(0,s.jsx)(e.a,{href:"https://docs.cohere.com/docs",children:"Cohere"}),"."]}),"\n",(0,s.jsxs)(e.p,{children:["The projects are setup to work with the example ",(0,s.jsx)(e.a,{href:"https://github.com/OvidijusParsiunas/deep-chat/tree/main/example-servers/ui",children:"UI project"}),".\nOnce the server and UI are both running - they should be able to communicate with each other right out of the box."]}),"\n",(0,s.jsx)("img",{src:i.A,className:"adaptive-logo-filter",width:"41",style:{float:"left",marginRight:"7px",marginTop:"19px"}}),"\n",(0,s.jsx)(e.h2,{id:"express",children:"Express"}),"\n",(0,s.jsxs)(e.p,{children:["JavaScript project that uses Node's ",(0,s.jsx)(e.a,{href:"https://expressjs.com/",children:"ExpressJS"})," framework:"]}),"\n",(0,s.jsx)(e.p,{children:(0,s.jsx)(e.a,{href:"https://github.com/OvidijusParsiunas/deep-chat/tree/main/example-servers/node/express",children:"Click for GitHub Project"})}),"\n",(0,s.jsx)("img",{src:n.A,width:"38",style:{float:"left",marginRight:"8px",marginTop:"21px"}}),"\n",(0,s.jsx)(e.h2,{id:"nest",children:"Nest"}),"\n",(0,s.jsxs)(e.p,{children:["JavaScript project that uses Node's ",(0,s.jsx)(e.a,{href:"https://nestjs.com/",children:"NestJS"})," framework:"]}),"\n",(0,s.jsx)(e.p,{children:(0,s.jsx)(e.a,{href:"https://github.com/OvidijusParsiunas/deep-chat/tree/main/example-servers/node/nestjs",children:"Click for GitHub Project"})}),"\n",(0,s.jsx)("img",{src:a.A,width:"36",style:{float:"left",marginRight:"8px",marginLeft:"1px",marginTop:"23px"}}),"\n",(0,s.jsx)(e.h2,{id:"spring-boot",children:"Spring Boot"}),"\n",(0,s.jsxs)(e.p,{children:["Java project that uses the ",(0,s.jsx)(e.a,{href:"https://spring.io/projects/spring-boot",children:"Spring Boot"})," framework:"]}),"\n",(0,s.jsx)(e.p,{children:(0,s.jsx)(e.a,{href:"https://github.com/OvidijusParsiunas/deep-chat/tree/main/example-servers/java/springboot",children:"Click for GitHub Project"})}),"\n",(0,s.jsx)("img",{src:o.A,width:"20",style:{float:"left",marginRight:"9px",marginLeft:"4px",marginTop:"25px"}}),"\n",(0,s.jsx)(e.h2,{id:"go",children:"Go"}),"\n",(0,s.jsxs)(e.p,{children:[(0,s.jsx)(e.a,{href:"https://go.dev/",children:"Go"})," project that uses the native ",(0,s.jsx)(e.a,{href:"https://pkg.go.dev/net/http",children:"http"})," package:"]}),"\n",(0,s.jsx)(e.p,{children:(0,s.jsx)(e.a,{href:"https://github.com/OvidijusParsiunas/deep-chat/tree/main/example-servers/go",children:"Click for GitHub Project"})}),"\n",(0,s.jsx)("img",{src:c.A,className:"adaptive-logo-filter",width:"27",style:{float:"left",marginRight:"7px",marginLeft:"3px",marginTop:"25px"}}),"\n",(0,s.jsx)(e.h2,{id:"flask",children:"Flask"}),"\n",(0,s.jsxs)(e.p,{children:["Python project that uses the ",(0,s.jsx)(e.a,{href:"https://flask.palletsprojects.com/en/2.3.x/",children:"Flask"})," framework:"]}),"\n",(0,s.jsx)(e.p,{children:(0,s.jsx)(e.a,{href:"https://github.com/OvidijusParsiunas/deep-chat/tree/main/example-servers/python/flask",children:"Click for GitHub Project"})}),"\n",(0,s.jsx)("img",{src:d.A,className:"adaptive-logo-filter",width:"28",style:{float:"left",marginRight:"8px",marginTop:"25px"}}),"\n",(0,s.jsx)(e.h2,{id:"next",children:"Next"}),"\n",(0,s.jsxs)(e.p,{children:["JavaScript project that uses the ",(0,s.jsx)(e.a,{href:"https://nextjs.org/",children:"Next"})," framework. This project does not need to use the UI example mentioned above\nas it already contains all of the required code. Additionally, it is ready to be deployed to a hosting platform\nsuch as ",(0,s.jsx)(e.a,{href:"https://vercel.com/",children:"Vercel"}),":"]}),"\n",(0,s.jsx)(e.p,{children:(0,s.jsx)(e.a,{href:"https://github.com/OvidijusParsiunas/deep-chat/tree/main/example-servers/nextjs",children:"Click for GitHub Project"})}),"\n",(0,s.jsx)("img",{src:l.A,width:"23",style:{float:"left",marginRight:"10px",marginTop:"25px"}}),"\n",(0,s.jsx)(e.h2,{id:"sveltekit",children:"SvelteKit"}),"\n",(0,s.jsxs)(e.p,{children:["TypeScript project that uses the ",(0,s.jsx)(e.a,{href:"https://kit.svelte.dev/",children:"SvelteKit"})," framework. This project does not need to use the UI example mentioned above\nas it already contains all of the required code. Additionally, it is ready to be deployed to a hosting platform\nsuch as ",(0,s.jsx)(e.a,{href:"https://vercel.com/",children:"Vercel"}),":"]}),"\n",(0,s.jsx)(e.p,{children:(0,s.jsx)(e.a,{href:"https://github.com/OvidijusParsiunas/deep-chat/tree/main/example-servers/sveltekit",children:"Click for GitHub Project"})}),"\n",(0,s.jsx)(e.h2,{id:"troubleshooting",children:"Troubleshooting"}),"\n",(0,s.jsxs)(e.p,{children:["If you are experiencing issueswith any of the examples - please see ",(0,s.jsx)(e.a,{href:"https://github.com/OvidijusParsiunas/deep-chat/issues",children:(0,s.jsx)(e.strong,{children:"github issues"})})," or create\na ",(0,s.jsx)(e.a,{href:"https://github.com/OvidijusParsiunas/deep-chat/issues/new",children:(0,s.jsx)(e.strong,{children:"new issue ticket"})})," and we will look into\nit as soon as possible."]})]})}function j(A={}){const{wrapper:e}={...(0,r.R)(),...A.components};return e?(0,s.jsx)(e,{...A,children:(0,s.jsx)(u,{...A})}):u(A)}},58427:(A,e,t)=>{t.d(e,{A:()=>s});const s=t.p+"assets/images/expressLogo-e3d4f9e5c8b469e458380477a2401024.png"},25798:(A,e,t)=>{t.d(e,{A:()=>s});const s=t.p+"assets/images/flaskLogo-7f66c78e2193b7d986815c893edd15f7.png"},21967:(A,e,t)=>{t.d(e,{A:()=>s});const s="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAN0AAAEsCAMAAABwo0YgAAADAFBMVEVHcEwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABBgYJExMOHyAWLzIYNTgPIiMNHB0EDA0ECQkAAAAAAAAAAAAAAAAAAAAAAAAAAAAYMzUhRUkrWl41a3FAgolKmJ9SqLBausRgxc9jzNZn095o1eBiydRfwsxSpa5HkplDiI86d30yaG0jSEwHDxABAgIAAAAAAAARJCYdPUApVls4dHpFjpVTqrNdwMls3ehx6PRv5O9u4u5u4ext3+pr2+Zr3Ods3upv4+5w5vFXs7w7eoAtXmMVLC4AAAA9f4VPoqtcvcZq2uVw5vJq2eVp1+Jt4Oxv5fFl0NsoUlYAAAAaNzpWsLlu4e0cOj1Mm6MmT1MTKCplztkkS08AAAA2b3UAAABp2ONDi5IAAAAAAABBho0AAABr2+dUrbZp1uFOn6dauMIvYWYKGRoIFRcYEhArKSk7OTkhHh4LBwdYtb4AAABbWlqLiou7u7vb29vt7e339/f+/v76+vrz8/Pp6enS0tKlpaV1dHRhx9F8e3vHx8f///+Ojo42NDQTDw8dQERHRkatra22trYgQ0bPz8/h4eHl5eXW1taGhoZVVFRDQUAjIiN18fwVFBVnZ2eysrIdFxQxZGkwLy+XlpadnZySkZGDgoJNTE25uLhIlZxy6vbLy8uAf38PCgteXl0HBgYFAgFhYGDBwcEbGhwAAABubm4kHRhOkZkxSU1FeoBqWkd/bVY0LCPGqYOGc1ktJh4tPkHStIv/26n/46+LdlxMQTPhwJT/4a7/3qvYuY9zYkysk3P306P51KT/3aqchWc6MSegiWr61qX20aL20qK5n3z/4K3kw5ZhUkElMDT+2aeymHWVf2J7aVL816bBpX9CcHVFOzDoxplSRjfLrobcvJHzz6CPel9ANiqmjm1NjZRaTTz/57IYDAXty53/7riJmnnbAAAAxXRSTlMABRUsP1hohaO72fL/9sK0ro+KYFAaCgMQMmyn3/D7////////////6dSWeFvJ5f/////////////////////////////tf/////////////////////////////84//////////////8m////////////Q/9J//+cIP9x///////////////////Q////////////////////////////////////////////////////////////////////////////Y0s4BUsAACHYSURBVHgB1NeDmvNMGIDhuk32rda2zdrmxMU66No2D/wzfrO8L5d5goGsxOQKpUqt0eowvA6+0+M4bjCazPWahkaVsqlZVnNaWtsa2+s7DJ1d3fBZT29f/8BXg0N9Q8MjPfBVd93oGDY+MalqktdEWLNSPaGbmtbDJyN9M7Nz8wuLSxarze74yuZ0Ol0uy5Lb4/X55wIDg8HQ58rwmCmiVlZzolw5WY916j9nRWPxRDKVdtoRQZAUzSDEfsMhhDIZhqazZI4gMg6bK7+4vDK7OgIAdXhH+1o13qrNa+0dXx6uodjc+samjRdy5KcoVpT+ksiiTIHaIjLbmxu+nZlhgO5O3eRuVaXtNujwboDevTnvvpUjyAOG46V/ReSYg60t++aify8IEMbaqyWwbcIQ/lR26D9KiwJJZ0TpP2MZKiduJo8HAbqMDYqKpyknpvQAJyuLabRFMbz0//EMSdqO5j4FdpqVlUxTNGB6CK3Op7a3SEaUigeR5OniWRD0HecVuyPNnQDRi5REUqxUdIg8sCT6ALDGSrRdmrohuHNk36J4qTSuCrlT7yqAUVXuiU2NAfRdbB6QrFRKSHBcr0L3zW054xoNAKt3p1uFK6nUWMGx0AfT9y2/n2BbW0uxslkzfmpL2gUklQUrOP09gLXJfmpVTegMU/jYFHbTXtzFW5NZD9E7+9ZDsStEnvuM5X93Q2SEx0MIt39/Ki5vOuGTkeHhHgDoNtw3FS1OjUPwwiYUt+3qgREI9HT62fbVAZFF/K/fJ68SI2D6XNGiNgD0rK7cPectLylPItALMKr91/N+823b5flvd19NHQCBFwIVNQ0J9Gn+7nW2/+39k769nYtFlygUfjV/ckLqBMbWZJeGz5NQ/ilLUIVMprBFZKzXMQBc/S/K5KqIsbNOD6Dvwk0R1Y87+xKHoWTm4DdHJ/Isl8kg9iOrZuHWxrau8eP6bj1+KgmWbN84BJfsYiVZUULRJJMJhx2KXE7Yt5IKG6th9cGhFGmh7pINR/+r2xCZWWTCTJ7n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"},33495:(A,e,t)=>{t.d(e,{A:()=>s});const s=t.p+"assets/images/nestLogo-386ee71e3f957f836203cfc510d01a5c.png"},82126:(A,e,t)=>{t.d(e,{A:()=>s});const s="data:image/png;base64,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"},65986:(A,e,t)=>{t.d(e,{A:()=>s});const s="data:image/png;base64,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"},8812:(A,e,t)=>{t.d(e,{A:()=>s});const s=t.p+"assets/images/svelteLogo-58bc2f231d79b09f68d503ec3fe5228f.png"},28453:(A,e,t)=>{t.d(e,{R:()=>i,x:()=>a});var s=t(96540);const r={},n=s.createContext(r);function i(A){const e=s.useContext(n);return s.useMemo((function(){return"function"==typeof A?A(e):{...e,...A}}),[e,A])}function a(A){let e;return e=A.disableParentContext?"function"==typeof A.components?A.components(r):A.components||r:i(A.components),s.createElement(n.Provider,{value:e},A.children)}}}]);
\ No newline at end of file
diff --git a/assets/js/1204.b20248ad.js b/assets/js/1204.b20248ad.js
new file mode 100644
index 000000000..b5139d19d
--- /dev/null
+++ b/assets/js/1204.b20248ad.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([[1204],{1204:(e,t,n)=>{function r(e){return r="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},r(e)}function o(e){var t=function(e,t){if("object"!=r(e)||!e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var o=n.call(e,t||"default");if("object"!=r(o))return o;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"==r(t)?t:t+""}function i(e,t,n){return(t=o(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function a(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function s(e){for(var t=1;te.length)&&(t=e.length);for(var n=0,r=Array(t);nQn});var f=n(98587);function d(e,t){if(null==e)return{};var n,r,o=(0,f.A)(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(r=0;r0?M(j,--N):0,F--,10===U&&(F=1,T--),U}function W(){return U=N2||q(U)>3?"":" "}function Q(e,t){for(;--t&&W()&&!(U<48||U>102||U>57&&U<65||U>70&&U<97););return G(e,Y()+(t<6&&32==$()&&32==W()))}function ee(e){for(;W();)switch(U){case e:return N;case 34:case 39:34!==e&&39!==e&&ee(U);break;case 40:41===e&&ee(e);break;case 92:W()}return N}function te(e,t){for(;W()&&e+U!==57&&(e+U!==84||47!==$()););return"/*"+G(t,N-1)+"*"+I(47===e?e:W())}function ne(e){for(;!q($());)W();return G(e,N)}var re="-ms-",oe="-moz-",ie="-webkit-",ae="comm",se="rule",ue="decl",le="@keyframes";function ce(e,t){for(var n="",r=D(e),o=0;o0&&R(C)-f&&L(p>32?ve(C+";",r,n,f-1):ve(k(C," ","")+";",r,n,f-2),u);break;case 59:C+=";";default:if(L(x=he(C,t,n,l,c,o,s,y,w=[],O=[],f),i),123===b)if(0===c)pe(C,t,x,x,w,i,f,s,O);else switch(99===d&&110===M(C,3)?100:d){case 100:case 108:case 109:case 115:pe(e,x,x,r&&L(he(e,x,x,0,0,o,s,y,o,w=[],f),O),o,O,f,s,r?w:O);break;default:pe(C,x,x,x,[""],O,0,s,O)}}l=c=p=0,m=g=1,y=C="",f=a;break;case 58:f=1+R(C),p=h;default:if(m<1)if(123==b)--m;else if(125==b&&0==m++&&125==_())continue;switch(C+=I(b),b*m){case 38:g=c>0?1:(C+="\f",-1);break;case 44:s[l++]=(R(C)-1)*g,g=1;break;case 64:45===$()&&(C+=Z(W())),d=$(),c=f=R(y=C+=ne(Y())),b++;break;case 45:45===h&&2==R(C)&&(m=0)}}return i}function he(e,t,n,r,o,i,a,s,u,l,c){for(var f=o-1,d=0===o?i:[""],p=D(d),h=0,m=0,v=0;h0?d[g]+" "+b:k(b,/&\f/g,d[g])))&&(u[v++]=y);return B(e,t,n,0===o?se:s,u,l,c)}function me(e,t,n){return B(e,t,n,ae,I(U),P(e,2,-2),0)}function ve(e,t,n,r){return B(e,t,n,ue,P(e,0,r),P(e,r+1,-1),r)}var ge=function(e,t,n){for(var r=0,o=0;r=o,o=$(),38===r&&12===o&&(t[n]=1),!q(o);)W();return G(e,N)},be=function(e,t){return K(function(e,t){var n=-1,r=44;do{switch(q(r)){case 0:38===r&&12===$()&&(t[n]=1),e[n]+=ge(N-1,t,n);break;case 2:e[n]+=Z(r);break;case 4:if(44===r){e[++n]=58===$()?"&\f":"",t[n]=e[n].length;break}default:e[n]+=I(r)}}while(r=W());return e}(X(e),t))},ye=new WeakMap,we=function(e){if("rule"===e.type&&e.parent&&!(e.length<1)){for(var t=e.value,n=e.parent,r=e.column===n.column&&e.line===n.line;"rule"!==n.type;)if(!(n=n.parent))return;if((1!==e.props.length||58===t.charCodeAt(0)||ye.get(n))&&!r){ye.set(e,!0);for(var o=[],i=be(t,o),a=n.props,s=0,u=0;s6)switch(M(e,t+1)){case 109:if(45!==M(e,t+4))break;case 102:return k(e,/(.+:)(.+)-([^]+)/,"$1"+ie+"$2-$3$1"+oe+(108==M(e,t+3)?"$3":"$2-$3"))+e;case 115:return~V(e,"stretch")?xe(k(e,"stretch","fill-available"),t)+e:e}break;case 4949:if(115!==M(e,t+1))break;case 6444:switch(M(e,R(e)-3-(~V(e,"!important")&&10))){case 107:return k(e,":",":"+ie)+e;case 101:return k(e,/(.+:)([^;!]+)(;|!.+)?/,"$1"+ie+(45===M(e,14)?"inline-":"")+"box$3$1"+ie+"$2$3$1"+re+"$2box$3")+e}break;case 5936:switch(M(e,t+11)){case 114:return ie+e+re+k(e,/[svh]\w+-[tblr]{2}/,"tb")+e;case 108:return ie+e+re+k(e,/[svh]\w+-[tblr]{2}/,"tb-rl")+e;case 45:return ie+e+re+k(e,/[svh]\w+-[tblr]{2}/,"lr")+e}return ie+e+re+e+e}return e}var Ce=[function(e,t,n,r){if(e.length>-1&&!e.return)switch(e.type){case ue:e.return=xe(e.value,e.length);break;case le:return ce([z(e,{value:k(e.value,"@","@"+ie)})],r);case se:if(e.length)return function(e,t){return e.map(t).join("")}(e.props,(function(t){switch(function(e,t){return(e=t.exec(e))?e[0]:e}(t,/(::plac\w+|:read-\w+)/)){case":read-only":case":read-write":return ce([z(e,{props:[k(t,/:(read-\w+)/,":-moz-$1")]})],r);case"::placeholder":return ce([z(e,{props:[k(t,/:(plac\w+)/,":"+ie+"input-$1")]}),z(e,{props:[k(t,/:(plac\w+)/,":-moz-$1")]}),z(e,{props:[k(t,/:(plac\w+)/,re+"input-$1")]})],r)}return""}))}}],Se=function(e){var t=e.key;if("css"===t){var n=document.querySelectorAll("style[data-emotion]:not([data-s])");Array.prototype.forEach.call(n,(function(e){-1!==e.getAttribute("data-emotion").indexOf(" ")&&(document.head.appendChild(e),e.setAttribute("data-s",""))}))}var r,o,i=e.stylisPlugins||Ce,a={},s=[];r=e.container||document.head,Array.prototype.forEach.call(document.querySelectorAll('style[data-emotion^="'+t+' "]'),(function(e){for(var t=e.getAttribute("data-emotion").split(" "),n=1;n=4;++r,o-=4)t=1540483477*(65535&(t=255&e.charCodeAt(r)|(255&e.charCodeAt(++r))<<8|(255&e.charCodeAt(++r))<<16|(255&e.charCodeAt(++r))<<24))+(59797*(t>>>16)<<16),n=1540483477*(65535&(t^=t>>>24))+(59797*(t>>>16)<<16)^1540483477*(65535&n)+(59797*(n>>>16)<<16);switch(o){case 3:n^=(255&e.charCodeAt(r+2))<<16;case 2:n^=(255&e.charCodeAt(r+1))<<8;case 1:n=1540483477*(65535&(n^=255&e.charCodeAt(r)))+(59797*(n>>>16)<<16)}return(((n=1540483477*(65535&(n^=n>>>13))+(59797*(n>>>16)<<16))^n>>>15)>>>0).toString(36)}(o)+u;return{name:l,styles:o,next:Te}}var Ne=!!h.useInsertionEffect&&h.useInsertionEffect,Ue=Ne||function(e){return e()},je=(Ne||p.useLayoutEffect,p.createContext("undefined"!=typeof HTMLElement?Se({key:"css"}):null)),Be=(je.Provider,function(e){return(0,p.forwardRef)((function(t,n){var r=(0,p.useContext)(je);return e(t,r,n)}))}),ze=p.createContext({});var _e={}.hasOwnProperty,We="__EMOTION_TYPE_PLEASE_DO_NOT_USE__",$e=function(e){var t=e.cache,n=e.serialized,r=e.isStringTag;return Ie(t,n,r),Ue((function(){return function(e,t,n){Ie(e,t,n);var r=e.key+"-"+t.name;if(void 0===e.inserted[t.name]){var o=t;do{e.insert(t===o?"."+r:"",o,e.sheet,!0),o=o.next}while(void 0!==o)}}(t,n,r)})),null},Ye=Be((function(e,t,n){var r=e.css;"string"==typeof r&&void 0!==t.registered[r]&&(r=t.registered[r]);var o=e[We],i=[r],a="";"string"==typeof e.className?a=function(e,t,n){var r="";return n.split(" ").forEach((function(n){void 0!==e[n]?t.push(e[n]+";"):n&&(r+=n+" ")})),r}(t.registered,i,e.className):null!=e.className&&(a=e.className+" ");var s=He(i,void 0,p.useContext(ze));a+=t.key+"-"+s.name;var u={};for(var l in e)_e.call(e,l)&&"css"!==l&&l!==We&&(u[l]=e[l]);return u.className=a,n&&(u.ref=n),p.createElement(p.Fragment,null,p.createElement($e,{cache:t,serialized:s,isStringTag:"string"==typeof o}),p.createElement(o,u))})),Ge=Ye,qe=(n(4146),function(e,t){var n=arguments;if(null==t||!_e.call(t,"css"))return p.createElement.apply(void 0,n);var r=n.length,o=new Array(r);o[0]=Ge,o[1]=function(e,t){var n={};for(var r in t)_e.call(t,r)&&(n[r]=t[r]);return n[We]=e,n}(e,t);for(var i=2;i2?n-2:0),o=2;o-1}function st(e){return at(e)?window.pageYOffset:e.scrollTop}function ut(e,t){at(e)?window.scrollTo(0,t):e.scrollTop=t}function lt(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:200,r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:et,o=st(e),i=t-o,a=0;!function t(){var s,u=i*((s=(s=a+=10)/n-1)*s*s+1)+o;ut(e,u),an.bottom?ut(e,Math.min(t.offsetTop+t.clientHeight-e.offsetHeight+o,e.scrollHeight)):r.top-o=h)return{placement:"bottom",maxHeight:t};if(S>=h&&!a)return i&<(u,I,A),{placement:"bottom",maxHeight:t};if(!a&&S>=r||a&&x>=r)return i&<(u,I,A),{placement:"bottom",maxHeight:a?x-y:S-y};if("auto"===o||a){var k=t,V=a?O:C;return V>=r&&(k=Math.min(V-y-s,t)),{placement:"top",maxHeight:k}}if("bottom"===o)return i&&ut(u,I),{placement:"bottom",maxHeight:t};break;case"top":if(O>=h)return{placement:"top",maxHeight:t};if(C>=h&&!a)return i&<(u,E,A),{placement:"top",maxHeight:t};if(!a&&C>=r||a&&O>=r){var M=t;return(!a&&C>=r||a&&O>=r)&&(M=a?O-w:C-w),i&<(u,E,A),{placement:"top",maxHeight:M}}return{placement:"bottom",maxHeight:t};default:throw new Error('Invalid placement provided "'.concat(o,'".'))}return l}var Ot,xt=function(e){return"auto"===e?"bottom":e},Ct=(0,p.createContext)(null),St=function(e){var t=e.children,n=e.minMenuHeight,r=e.maxMenuHeight,o=e.menuPlacement,i=e.menuPosition,a=e.menuShouldScrollIntoView,u=e.theme,l=((0,p.useContext)(Ct)||{}).setPortalPlacement,f=(0,p.useRef)(null),d=c((0,p.useState)(r),2),h=d[0],m=d[1],v=c((0,p.useState)(null),2),g=v[0],b=v[1],y=u.spacing.controlHeight;return Je((function(){var e=f.current;if(e){var t="fixed"===i,s=wt({maxHeight:r,menuEl:e,minHeight:n,placement:o,shouldScroll:a&&!t,isFixedPosition:t,controlHeight:y});m(s.maxHeight),b(s.placement),null==l||l(s.placement)}}),[r,o,i,a,n,l,y]),t({ref:f,placerProps:s(s({},e),{},{placement:g||xt(o),maxHeight:h})})},It=function(e){var t=e.children,n=e.innerRef,r=e.innerProps;return qe("div",(0,v.A)({},it(e,"menu",{menu:!0}),{ref:n},r),t)},Et=function(e,t){var n=e.theme,r=n.spacing.baseUnit,o=n.colors;return s({textAlign:"center"},t?{}:{color:o.neutral40,padding:"".concat(2*r,"px ").concat(3*r,"px")})},At=Et,kt=Et,Vt=["size"],Mt=["innerProps","isRtl","size"];var Pt,Rt,Dt={name:"8mmkcg",styles:"display:inline-block;fill:currentColor;line-height:1;stroke:currentColor;stroke-width:0"},Lt=function(e){var t=e.size,n=d(e,Vt);return qe("svg",(0,v.A)({height:t,width:t,viewBox:"0 0 20 20","aria-hidden":"true",focusable:"false",css:Dt},n))},Tt=function(e){return qe(Lt,(0,v.A)({size:20},e),qe("path",{d:"M14.348 14.849c-0.469 0.469-1.229 0.469-1.697 0l-2.651-3.030-2.651 3.029c-0.469 0.469-1.229 0.469-1.697 0-0.469-0.469-0.469-1.229 0-1.697l2.758-3.15-2.759-3.152c-0.469-0.469-0.469-1.228 0-1.697s1.228-0.469 1.697 0l2.652 3.031 2.651-3.031c0.469-0.469 1.228-0.469 1.697 0s0.469 1.229 0 1.697l-2.758 3.152 2.758 3.15c0.469 0.469 0.469 1.229 0 1.698z"}))},Ft=function(e){return qe(Lt,(0,v.A)({size:20},e),qe("path",{d:"M4.516 7.548c0.436-0.446 1.043-0.481 1.576 0l3.908 3.747 3.908-3.747c0.533-0.481 1.141-0.446 1.574 0 0.436 0.445 0.408 1.197 0 1.615-0.406 0.418-4.695 4.502-4.695 4.502-0.217 0.223-0.502 0.335-0.787 0.335s-0.57-0.112-0.789-0.335c0 0-4.287-4.084-4.695-4.502s-0.436-1.17 0-1.615z"}))},Ht=function(e,t){var n=e.isFocused,r=e.theme,o=r.spacing.baseUnit,i=r.colors;return s({label:"indicatorContainer",display:"flex",transition:"color 150ms"},t?{}:{color:n?i.neutral60:i.neutral20,padding:2*o,":hover":{color:n?i.neutral80:i.neutral40}})},Nt=Ht,Ut=Ht,jt=function(){var e=Xe.apply(void 0,arguments),t="animation-"+e.name;return{name:t,styles:"@keyframes "+t+"{"+e.styles+"}",anim:1,toString:function(){return"_EMO_"+this.name+"_"+this.styles+"_EMO_"}}}(Ot||(Pt=["\n 0%, 80%, 100% { opacity: 0; }\n 40% { opacity: 1; }\n"],Rt||(Rt=Pt.slice(0)),Ot=Object.freeze(Object.defineProperties(Pt,{raw:{value:Object.freeze(Rt)}})))),Bt=function(e){var t=e.delay,n=e.offset;return qe("span",{css:Xe({animation:"".concat(jt," 1s ease-in-out ").concat(t,"ms infinite;"),backgroundColor:"currentColor",borderRadius:"1em",display:"inline-block",marginLeft:n?"1em":void 0,height:"1em",verticalAlign:"top",width:"1em"},"","")})},zt=function(e){var t=e.children,n=e.isDisabled,r=e.isFocused,o=e.innerRef,i=e.innerProps,a=e.menuIsOpen;return qe("div",(0,v.A)({ref:o},it(e,"control",{control:!0,"control--is-disabled":n,"control--is-focused":r,"control--menu-is-open":a}),i,{"aria-disabled":n||void 0}),t)},_t=["data"],Wt=function(e){var t=e.children,n=e.cx,r=e.getStyles,o=e.getClassNames,i=e.Heading,a=e.headingProps,s=e.innerProps,u=e.label,l=e.theme,c=e.selectProps;return qe("div",(0,v.A)({},it(e,"group",{group:!0}),s),qe(i,(0,v.A)({},a,{selectProps:c,theme:l,getStyles:r,getClassNames:o,cx:n}),u),qe("div",null,t))},$t=["innerRef","isDisabled","isHidden","inputClassName"],Yt={gridArea:"1 / 2",font:"inherit",minWidth:"2px",border:0,margin:0,outline:0,padding:0},Gt={flex:"1 1 auto",display:"inline-grid",gridArea:"1 / 1 / 2 / 3",gridTemplateColumns:"0 min-content","&:after":s({content:'attr(data-value) " "',visibility:"hidden",whiteSpace:"pre"},Yt)},qt=function(e){return s({label:"input",color:"inherit",background:0,opacity:e?0:1,width:"100%"},Yt)},Xt=function(e){var t=e.children,n=e.innerProps;return qe("div",n,t)};var Kt=function(e){var t=e.children,n=e.components,r=e.data,o=e.innerProps,i=e.isDisabled,a=e.removeProps,u=e.selectProps,l=n.Container,c=n.Label,f=n.Remove;return qe(l,{data:r,innerProps:s(s({},it(e,"multiValue",{"multi-value":!0,"multi-value--is-disabled":i})),o),selectProps:u},qe(c,{data:r,innerProps:s({},it(e,"multiValueLabel",{"multi-value__label":!0})),selectProps:u},t),qe(f,{data:r,innerProps:s(s({},it(e,"multiValueRemove",{"multi-value__remove":!0})),{},{"aria-label":"Remove ".concat(t||"option")},a),selectProps:u}))},Zt={ClearIndicator:function(e){var t=e.children,n=e.innerProps;return qe("div",(0,v.A)({},it(e,"clearIndicator",{indicator:!0,"clear-indicator":!0}),n),t||qe(Tt,null))},Control:zt,DropdownIndicator:function(e){var t=e.children,n=e.innerProps;return qe("div",(0,v.A)({},it(e,"dropdownIndicator",{indicator:!0,"dropdown-indicator":!0}),n),t||qe(Ft,null))},DownChevron:Ft,CrossIcon:Tt,Group:Wt,GroupHeading:function(e){var t=ot(e);t.data;var n=d(t,_t);return qe("div",(0,v.A)({},it(e,"groupHeading",{"group-heading":!0}),n))},IndicatorsContainer:function(e){var t=e.children,n=e.innerProps;return qe("div",(0,v.A)({},it(e,"indicatorsContainer",{indicators:!0}),n),t)},IndicatorSeparator:function(e){var t=e.innerProps;return qe("span",(0,v.A)({},t,it(e,"indicatorSeparator",{"indicator-separator":!0})))},Input:function(e){var t=e.cx,n=e.value,r=ot(e),o=r.innerRef,i=r.isDisabled,a=r.isHidden,s=r.inputClassName,u=d(r,$t);return qe("div",(0,v.A)({},it(e,"input",{"input-container":!0}),{"data-value":n||""}),qe("input",(0,v.A)({className:t({input:!0},s),ref:o,style:qt(a),disabled:i},u)))},LoadingIndicator:function(e){var t=e.innerProps,n=e.isRtl,r=e.size,o=void 0===r?4:r,i=d(e,Mt);return qe("div",(0,v.A)({},it(s(s({},i),{},{innerProps:t,isRtl:n,size:o}),"loadingIndicator",{indicator:!0,"loading-indicator":!0}),t),qe(Bt,{delay:0,offset:n}),qe(Bt,{delay:160,offset:!0}),qe(Bt,{delay:320,offset:!n}))},Menu:It,MenuList:function(e){var t=e.children,n=e.innerProps,r=e.innerRef,o=e.isMulti;return qe("div",(0,v.A)({},it(e,"menuList",{"menu-list":!0,"menu-list--is-multi":o}),{ref:r},n),t)},MenuPortal:function(e){var t=e.appendTo,n=e.children,r=e.controlElement,o=e.innerProps,i=e.menuPlacement,a=e.menuPosition,u=(0,p.useRef)(null),l=(0,p.useRef)(null),f=c((0,p.useState)(xt(i)),2),d=f[0],h=f[1],m=(0,p.useMemo)((function(){return{setPortalPlacement:h}}),[]),g=c((0,p.useState)(null),2),b=g[0],y=g[1],w=(0,p.useCallback)((function(){if(r){var e=function(e){var t=e.getBoundingClientRect();return{bottom:t.bottom,height:t.height,left:t.left,right:t.right,top:t.top,width:t.width}}(r),t="fixed"===a?0:window.pageYOffset,n=e[d]+t;n===(null==b?void 0:b.offset)&&e.left===(null==b?void 0:b.rect.left)&&e.width===(null==b?void 0:b.rect.width)||y({offset:n,rect:e})}}),[r,a,d,null==b?void 0:b.offset,null==b?void 0:b.rect.left,null==b?void 0:b.rect.width]);Je((function(){w()}),[w]);var O=(0,p.useCallback)((function(){"function"==typeof l.current&&(l.current(),l.current=null),r&&u.current&&(l.current=(0,Ze.ll)(r,u.current,w,{elementResize:"ResizeObserver"in window}))}),[r,w]);Je((function(){O()}),[O]);var x=(0,p.useCallback)((function(e){u.current=e,O()}),[O]);if(!t&&"fixed"!==a||!b)return null;var C=qe("div",(0,v.A)({ref:x},it(s(s({},e),{},{offset:b.offset,position:a,rect:b.rect}),"menuPortal",{"menu-portal":!0}),o),n);return qe(Ct.Provider,{value:m},t?(0,Ke.createPortal)(C,t):C)},LoadingMessage:function(e){var t=e.children,n=void 0===t?"Loading...":t,r=e.innerProps,o=d(e,yt);return qe("div",(0,v.A)({},it(s(s({},o),{},{children:n,innerProps:r}),"loadingMessage",{"menu-notice":!0,"menu-notice--loading":!0}),r),n)},NoOptionsMessage:function(e){var t=e.children,n=void 0===t?"No options":t,r=e.innerProps,o=d(e,bt);return qe("div",(0,v.A)({},it(s(s({},o),{},{children:n,innerProps:r}),"noOptionsMessage",{"menu-notice":!0,"menu-notice--no-options":!0}),r),n)},MultiValue:Kt,MultiValueContainer:Xt,MultiValueLabel:Xt,MultiValueRemove:function(e){var t=e.children,n=e.innerProps;return qe("div",(0,v.A)({role:"button"},n),t||qe(Tt,{size:14}))},Option:function(e){var t=e.children,n=e.isDisabled,r=e.isFocused,o=e.isSelected,i=e.innerRef,a=e.innerProps;return qe("div",(0,v.A)({},it(e,"option",{option:!0,"option--is-disabled":n,"option--is-focused":r,"option--is-selected":o}),{ref:i,"aria-disabled":n},a),t)},Placeholder:function(e){var t=e.children,n=e.innerProps;return qe("div",(0,v.A)({},it(e,"placeholder",{placeholder:!0}),n),t)},SelectContainer:function(e){var t=e.children,n=e.innerProps,r=e.isDisabled,o=e.isRtl;return qe("div",(0,v.A)({},it(e,"container",{"--is-disabled":r,"--is-rtl":o}),n),t)},SingleValue:function(e){var t=e.children,n=e.isDisabled,r=e.innerProps;return qe("div",(0,v.A)({},it(e,"singleValue",{"single-value":!0,"single-value--is-disabled":n}),r),t)},ValueContainer:function(e){var t=e.children,n=e.innerProps,r=e.isMulti,o=e.hasValue;return qe("div",(0,v.A)({},it(e,"valueContainer",{"value-container":!0,"value-container--is-multi":r,"value-container--has-value":o}),n),t)}},Jt=Number.isNaN||function(e){return"number"==typeof e&&e!=e};function Qt(e,t){if(e.length!==t.length)return!1;for(var n=0;n1?"s":""," ").concat(o.join(","),", selected.");case"select-option":return"option ".concat(r,i?" is disabled. Select another option.":", selected.");default:return""}},onFocus:function(e){var t=e.context,n=e.focused,r=e.options,o=e.label,i=void 0===o?"":o,a=e.selectValue,s=e.isDisabled,u=e.isSelected,l=e.isAppleDevice,c=function(e,t){return e&&e.length?"".concat(e.indexOf(t)+1," of ").concat(e.length):""};if("value"===t&&a)return"value ".concat(i," focused, ").concat(c(a,n),".");if("menu"===t&&l){var f=s?" disabled":"",d="".concat(u?" selected":"").concat(f);return"".concat(i).concat(d,", ").concat(c(r,n),".")}return""},onFilter:function(e){var t=e.inputValue,n=e.resultsMessage;return"".concat(n).concat(t?" for search term "+t:"",".")}},rn=function(e){var t=e.ariaSelection,n=e.focusedOption,r=e.focusedValue,o=e.focusableOptions,i=e.isFocused,a=e.selectValue,u=e.selectProps,l=e.id,c=e.isAppleDevice,f=u.ariaLiveMessages,d=u.getOptionLabel,h=u.inputValue,m=u.isMulti,v=u.isOptionDisabled,g=u.isSearchable,b=u.menuIsOpen,y=u.options,w=u.screenReaderStatus,O=u.tabSelectsValue,x=u.isLoading,C=u["aria-label"],S=u["aria-live"],I=(0,p.useMemo)((function(){return s(s({},nn),f||{})}),[f]),E=(0,p.useMemo)((function(){var e,n="";if(t&&I.onChange){var r=t.option,o=t.options,i=t.removedValue,u=t.removedValues,l=t.value,c=i||r||(e=l,Array.isArray(e)?null:e),f=c?d(c):"",p=o||u||void 0,h=p?p.map(d):[],m=s({isDisabled:c&&v(c,a),label:f,labels:h},t);n=I.onChange(m)}return n}),[t,I,v,a,d]),A=(0,p.useMemo)((function(){var e="",t=n||r,i=!!(n&&a&&a.includes(n));if(t&&I.onFocus){var s={focused:t,label:d(t),isDisabled:v(t,a),isSelected:i,options:o,context:t===n?"menu":"value",selectValue:a,isAppleDevice:c};e=I.onFocus(s)}return e}),[n,r,d,v,I,o,a,c]),k=(0,p.useMemo)((function(){var e="";if(b&&y.length&&!x&&I.onFilter){var t=w({count:o.length});e=I.onFilter({inputValue:h,resultsMessage:t})}return e}),[o,h,b,I,y,w,x]),V="initial-input-focus"===(null==t?void 0:t.action),M=(0,p.useMemo)((function(){var e="";if(I.guidance){var t=r?"value":b?"menu":"input";e=I.guidance({"aria-label":C,context:t,isDisabled:n&&v(n,a),isMulti:m,isSearchable:g,tabSelectsValue:O,isInitialFocus:V})}return e}),[C,n,r,m,v,g,b,I,a,O,V]),P=qe(p.Fragment,null,qe("span",{id:"aria-selection"},E),qe("span",{id:"aria-focused"},A),qe("span",{id:"aria-results"},k),qe("span",{id:"aria-guidance"},M));return qe(p.Fragment,null,qe(tn,{id:l},V&&P),qe(tn,{"aria-live":S,"aria-atomic":"false","aria-relevant":"additions text",role:"log"},i&&!V&&P))},on=[{base:"A",letters:"A\u24b6\uff21\xc0\xc1\xc2\u1ea6\u1ea4\u1eaa\u1ea8\xc3\u0100\u0102\u1eb0\u1eae\u1eb4\u1eb2\u0226\u01e0\xc4\u01de\u1ea2\xc5\u01fa\u01cd\u0200\u0202\u1ea0\u1eac\u1eb6\u1e00\u0104\u023a\u2c6f"},{base:"AA",letters:"\ua732"},{base:"AE",letters:"\xc6\u01fc\u01e2"},{base:"AO",letters:"\ua734"},{base:"AU",letters:"\ua736"},{base:"AV",letters:"\ua738\ua73a"},{base:"AY",letters:"\ua73c"},{base:"B",letters:"B\u24b7\uff22\u1e02\u1e04\u1e06\u0243\u0182\u0181"},{base:"C",letters:"C\u24b8\uff23\u0106\u0108\u010a\u010c\xc7\u1e08\u0187\u023b\ua73e"},{base:"D",letters:"D\u24b9\uff24\u1e0a\u010e\u1e0c\u1e10\u1e12\u1e0e\u0110\u018b\u018a\u0189\ua779"},{base:"DZ",letters:"\u01f1\u01c4"},{base:"Dz",letters:"\u01f2\u01c5"},{base:"E",letters:"E\u24ba\uff25\xc8\xc9\xca\u1ec0\u1ebe\u1ec4\u1ec2\u1ebc\u0112\u1e14\u1e16\u0114\u0116\xcb\u1eba\u011a\u0204\u0206\u1eb8\u1ec6\u0228\u1e1c\u0118\u1e18\u1e1a\u0190\u018e"},{base:"F",letters:"F\u24bb\uff26\u1e1e\u0191\ua77b"},{base:"G",letters:"G\u24bc\uff27\u01f4\u011c\u1e20\u011e\u0120\u01e6\u0122\u01e4\u0193\ua7a0\ua77d\ua77e"},{base:"H",letters:"H\u24bd\uff28\u0124\u1e22\u1e26\u021e\u1e24\u1e28\u1e2a\u0126\u2c67\u2c75\ua78d"},{base:"I",letters:"I\u24be\uff29\xcc\xcd\xce\u0128\u012a\u012c\u0130\xcf\u1e2e\u1ec8\u01cf\u0208\u020a\u1eca\u012e\u1e2c\u0197"},{base:"J",letters:"J\u24bf\uff2a\u0134\u0248"},{base:"K",letters:"K\u24c0\uff2b\u1e30\u01e8\u1e32\u0136\u1e34\u0198\u2c69\ua740\ua742\ua744\ua7a2"},{base:"L",letters:"L\u24c1\uff2c\u013f\u0139\u013d\u1e36\u1e38\u013b\u1e3c\u1e3a\u0141\u023d\u2c62\u2c60\ua748\ua746\ua780"},{base:"LJ",letters:"\u01c7"},{base:"Lj",letters:"\u01c8"},{base:"M",letters:"M\u24c2\uff2d\u1e3e\u1e40\u1e42\u2c6e\u019c"},{base:"N",letters:"N\u24c3\uff2e\u01f8\u0143\xd1\u1e44\u0147\u1e46\u0145\u1e4a\u1e48\u0220\u019d\ua790\ua7a4"},{base:"NJ",letters:"\u01ca"},{base:"Nj",letters:"\u01cb"},{base:"O",letters:"O\u24c4\uff2f\xd2\xd3\xd4\u1ed2\u1ed0\u1ed6\u1ed4\xd5\u1e4c\u022c\u1e4e\u014c\u1e50\u1e52\u014e\u022e\u0230\xd6\u022a\u1ece\u0150\u01d1\u020c\u020e\u01a0\u1edc\u1eda\u1ee0\u1ede\u1ee2\u1ecc\u1ed8\u01ea\u01ec\xd8\u01fe\u0186\u019f\ua74a\ua74c"},{base:"OI",letters:"\u01a2"},{base:"OO",letters:"\ua74e"},{base:"OU",letters:"\u0222"},{base:"P",letters:"P\u24c5\uff30\u1e54\u1e56\u01a4\u2c63\ua750\ua752\ua754"},{base:"Q",letters:"Q\u24c6\uff31\ua756\ua758\u024a"},{base:"R",letters:"R\u24c7\uff32\u0154\u1e58\u0158\u0210\u0212\u1e5a\u1e5c\u0156\u1e5e\u024c\u2c64\ua75a\ua7a6\ua782"},{base:"S",letters:"S\u24c8\uff33\u1e9e\u015a\u1e64\u015c\u1e60\u0160\u1e66\u1e62\u1e68\u0218\u015e\u2c7e\ua7a8\ua784"},{base:"T",letters:"T\u24c9\uff34\u1e6a\u0164\u1e6c\u021a\u0162\u1e70\u1e6e\u0166\u01ac\u01ae\u023e\ua786"},{base:"TZ",letters:"\ua728"},{base:"U",letters:"U\u24ca\uff35\xd9\xda\xdb\u0168\u1e78\u016a\u1e7a\u016c\xdc\u01db\u01d7\u01d5\u01d9\u1ee6\u016e\u0170\u01d3\u0214\u0216\u01af\u1eea\u1ee8\u1eee\u1eec\u1ef0\u1ee4\u1e72\u0172\u1e76\u1e74\u0244"},{base:"V",letters:"V\u24cb\uff36\u1e7c\u1e7e\u01b2\ua75e\u0245"},{base:"VY",letters:"\ua760"},{base:"W",letters:"W\u24cc\uff37\u1e80\u1e82\u0174\u1e86\u1e84\u1e88\u2c72"},{base:"X",letters:"X\u24cd\uff38\u1e8a\u1e8c"},{base:"Y",letters:"Y\u24ce\uff39\u1ef2\xdd\u0176\u1ef8\u0232\u1e8e\u0178\u1ef6\u1ef4\u01b3\u024e\u1efe"},{base:"Z",letters:"Z\u24cf\uff3a\u0179\u1e90\u017b\u017d\u1e92\u1e94\u01b5\u0224\u2c7f\u2c6b\ua762"},{base:"a",letters:"a\u24d0\uff41\u1e9a\xe0\xe1\xe2\u1ea7\u1ea5\u1eab\u1ea9\xe3\u0101\u0103\u1eb1\u1eaf\u1eb5\u1eb3\u0227\u01e1\xe4\u01df\u1ea3\xe5\u01fb\u01ce\u0201\u0203\u1ea1\u1ead\u1eb7\u1e01\u0105\u2c65\u0250"},{base:"aa",letters:"\ua733"},{base:"ae",letters:"\xe6\u01fd\u01e3"},{base:"ao",letters:"\ua735"},{base:"au",letters:"\ua737"},{base:"av",letters:"\ua739\ua73b"},{base:"ay",letters:"\ua73d"},{base:"b",letters:"b\u24d1\uff42\u1e03\u1e05\u1e07\u0180\u0183\u0253"},{base:"c",letters:"c\u24d2\uff43\u0107\u0109\u010b\u010d\xe7\u1e09\u0188\u023c\ua73f\u2184"},{base:"d",letters:"d\u24d3\uff44\u1e0b\u010f\u1e0d\u1e11\u1e13\u1e0f\u0111\u018c\u0256\u0257\ua77a"},{base:"dz",letters:"\u01f3\u01c6"},{base:"e",letters:"e\u24d4\uff45\xe8\xe9\xea\u1ec1\u1ebf\u1ec5\u1ec3\u1ebd\u0113\u1e15\u1e17\u0115\u0117\xeb\u1ebb\u011b\u0205\u0207\u1eb9\u1ec7\u0229\u1e1d\u0119\u1e19\u1e1b\u0247\u025b\u01dd"},{base:"f",letters:"f\u24d5\uff46\u1e1f\u0192\ua77c"},{base:"g",letters:"g\u24d6\uff47\u01f5\u011d\u1e21\u011f\u0121\u01e7\u0123\u01e5\u0260\ua7a1\u1d79\ua77f"},{base:"h",letters:"h\u24d7\uff48\u0125\u1e23\u1e27\u021f\u1e25\u1e29\u1e2b\u1e96\u0127\u2c68\u2c76\u0265"},{base:"hv",letters:"\u0195"},{base:"i",letters:"i\u24d8\uff49\xec\xed\xee\u0129\u012b\u012d\xef\u1e2f\u1ec9\u01d0\u0209\u020b\u1ecb\u012f\u1e2d\u0268\u0131"},{base:"j",letters:"j\u24d9\uff4a\u0135\u01f0\u0249"},{base:"k",letters:"k\u24da\uff4b\u1e31\u01e9\u1e33\u0137\u1e35\u0199\u2c6a\ua741\ua743\ua745\ua7a3"},{base:"l",letters:"l\u24db\uff4c\u0140\u013a\u013e\u1e37\u1e39\u013c\u1e3d\u1e3b\u017f\u0142\u019a\u026b\u2c61\ua749\ua781\ua747"},{base:"lj",letters:"\u01c9"},{base:"m",letters:"m\u24dc\uff4d\u1e3f\u1e41\u1e43\u0271\u026f"},{base:"n",letters:"n\u24dd\uff4e\u01f9\u0144\xf1\u1e45\u0148\u1e47\u0146\u1e4b\u1e49\u019e\u0272\u0149\ua791\ua7a5"},{base:"nj",letters:"\u01cc"},{base:"o",letters:"o\u24de\uff4f\xf2\xf3\xf4\u1ed3\u1ed1\u1ed7\u1ed5\xf5\u1e4d\u022d\u1e4f\u014d\u1e51\u1e53\u014f\u022f\u0231\xf6\u022b\u1ecf\u0151\u01d2\u020d\u020f\u01a1\u1edd\u1edb\u1ee1\u1edf\u1ee3\u1ecd\u1ed9\u01eb\u01ed\xf8\u01ff\u0254\ua74b\ua74d\u0275"},{base:"oi",letters:"\u01a3"},{base:"ou",letters:"\u0223"},{base:"oo",letters:"\ua74f"},{base:"p",letters:"p\u24df\uff50\u1e55\u1e57\u01a5\u1d7d\ua751\ua753\ua755"},{base:"q",letters:"q\u24e0\uff51\u024b\ua757\ua759"},{base:"r",letters:"r\u24e1\uff52\u0155\u1e59\u0159\u0211\u0213\u1e5b\u1e5d\u0157\u1e5f\u024d\u027d\ua75b\ua7a7\ua783"},{base:"s",letters:"s\u24e2\uff53\xdf\u015b\u1e65\u015d\u1e61\u0161\u1e67\u1e63\u1e69\u0219\u015f\u023f\ua7a9\ua785\u1e9b"},{base:"t",letters:"t\u24e3\uff54\u1e6b\u1e97\u0165\u1e6d\u021b\u0163\u1e71\u1e6f\u0167\u01ad\u0288\u2c66\ua787"},{base:"tz",letters:"\ua729"},{base:"u",letters:"u\u24e4\uff55\xf9\xfa\xfb\u0169\u1e79\u016b\u1e7b\u016d\xfc\u01dc\u01d8\u01d6\u01da\u1ee7\u016f\u0171\u01d4\u0215\u0217\u01b0\u1eeb\u1ee9\u1eef\u1eed\u1ef1\u1ee5\u1e73\u0173\u1e77\u1e75\u0289"},{base:"v",letters:"v\u24e5\uff56\u1e7d\u1e7f\u028b\ua75f\u028c"},{base:"vy",letters:"\ua761"},{base:"w",letters:"w\u24e6\uff57\u1e81\u1e83\u0175\u1e87\u1e85\u1e98\u1e89\u2c73"},{base:"x",letters:"x\u24e7\uff58\u1e8b\u1e8d"},{base:"y",letters:"y\u24e8\uff59\u1ef3\xfd\u0177\u1ef9\u0233\u1e8f\xff\u1ef7\u1e99\u1ef5\u01b4\u024f\u1eff"},{base:"z",letters:"z\u24e9\uff5a\u017a\u1e91\u017c\u017e\u1e93\u1e95\u01b6\u0225\u0240\u2c6c\ua763"}],an=new RegExp("["+on.map((function(e){return e.letters})).join("")+"]","g"),sn={},un=0;un1?t-1:0),r=1;r0,m=f-d-c,v=!1;m>t&&a.current&&(r&&r(e),a.current=!1),h&&s.current&&(i&&i(e),s.current=!1),h&&t>m?(n&&!a.current&&n(e),p.scrollTop=f,v=!0,a.current=!0):!h&&-t>c&&(o&&!s.current&&o(e),p.scrollTop=0,v=!0,s.current=!0),v&&function(e){e.cancelable&&e.preventDefault(),e.stopPropagation()}(e)}}),[n,r,o,i]),f=(0,p.useCallback)((function(e){c(e,e.deltaY)}),[c]),d=(0,p.useCallback)((function(e){u.current=e.changedTouches[0].clientY}),[]),h=(0,p.useCallback)((function(e){var t=u.current-e.changedTouches[0].clientY;c(e,t)}),[c]),m=(0,p.useCallback)((function(e){if(e){var t=!!mt&&{passive:!1};e.addEventListener("wheel",f,t),e.addEventListener("touchstart",d,t),e.addEventListener("touchmove",h,t)}}),[h,d,f]),v=(0,p.useCallback)((function(e){e&&(e.removeEventListener("wheel",f,!1),e.removeEventListener("touchstart",d,!1),e.removeEventListener("touchmove",h,!1))}),[h,d,f]);return(0,p.useEffect)((function(){if(t){var e=l.current;return m(e),function(){v(e)}}}),[t,m,v]),function(e){l.current=e}}({isEnabled:void 0===r||r,onBottomArrive:e.onBottomArrive,onBottomLeave:e.onBottomLeave,onTopArrive:e.onTopArrive,onTopLeave:e.onTopLeave}),i=function(e){var t=e.isEnabled,n=e.accountForScrollbars,r=void 0===n||n,o=(0,p.useRef)({}),i=(0,p.useRef)(null),a=(0,p.useCallback)((function(e){if(Cn){var t=document.body,n=t&&t.style;if(r&&gn.forEach((function(e){var t=n&&n[e];o.current[e]=t})),r&&Sn<1){var i=parseInt(o.current.paddingRight,10)||0,a=document.body?document.body.clientWidth:0,s=window.innerWidth-a+i||0;Object.keys(bn).forEach((function(e){var t=bn[e];n&&(n[e]=t)})),n&&(n.paddingRight="".concat(s,"px"))}t&&xn()&&(t.addEventListener("touchmove",yn,In),e&&(e.addEventListener("touchstart",On,In),e.addEventListener("touchmove",wn,In))),Sn+=1}}),[r]),s=(0,p.useCallback)((function(e){if(Cn){var t=document.body,n=t&&t.style;Sn=Math.max(Sn-1,0),r&&Sn<1&&gn.forEach((function(e){var t=o.current[e];n&&(n[e]=t)})),t&&xn()&&(t.removeEventListener("touchmove",yn,In),e&&(e.removeEventListener("touchstart",On,In),e.removeEventListener("touchmove",wn,In)))}}),[r]);return(0,p.useEffect)((function(){if(t){var e=i.current;return a(e),function(){s(e)}}}),[t,a,s]),function(e){i.current=e}}({isEnabled:n});return qe(p.Fragment,null,n&&qe("div",{onClick:En,css:An}),t((function(e){o(e),i(e)})))}var Vn={name:"1a0ro4n-requiredInput",styles:"label:requiredInput;opacity:0;pointer-events:none;position:absolute;bottom:0;left:0;right:0;width:100%"},Mn=function(e){var t=e.name,n=e.onFocus;return qe("input",{required:!0,name:t,tabIndex:-1,"aria-hidden":"true",onFocus:n,css:Vn,value:"",onChange:function(){}})};function Pn(e){var t;return"undefined"!=typeof window&&null!=window.navigator&&e.test((null===(t=window.navigator.userAgentData)||void 0===t?void 0:t.platform)||window.navigator.platform)}function Rn(){return Pn(/^Mac/i)}function Dn(){return Pn(/^iPhone/i)||Pn(/^iPad/i)||Rn()&&navigator.maxTouchPoints>1}var Ln={clearIndicator:Ut,container:function(e){var t=e.isDisabled;return{label:"container",direction:e.isRtl?"rtl":void 0,pointerEvents:t?"none":void 0,position:"relative"}},control:function(e,t){var n=e.isDisabled,r=e.isFocused,o=e.theme,i=o.colors,a=o.borderRadius;return s({label:"control",alignItems:"center",cursor:"default",display:"flex",flexWrap:"wrap",justifyContent:"space-between",minHeight:o.spacing.controlHeight,outline:"0 !important",position:"relative",transition:"all 100ms"},t?{}:{backgroundColor:n?i.neutral5:i.neutral0,borderColor:n?i.neutral10:r?i.primary:i.neutral20,borderRadius:a,borderStyle:"solid",borderWidth:1,boxShadow:r?"0 0 0 1px ".concat(i.primary):void 0,"&:hover":{borderColor:r?i.primary:i.neutral30}})},dropdownIndicator:Nt,group:function(e,t){var n=e.theme.spacing;return t?{}:{paddingBottom:2*n.baseUnit,paddingTop:2*n.baseUnit}},groupHeading:function(e,t){var n=e.theme,r=n.colors,o=n.spacing;return s({label:"group",cursor:"default",display:"block"},t?{}:{color:r.neutral40,fontSize:"75%",fontWeight:500,marginBottom:"0.25em",paddingLeft:3*o.baseUnit,paddingRight:3*o.baseUnit,textTransform:"uppercase"})},indicatorsContainer:function(){return{alignItems:"center",alignSelf:"stretch",display:"flex",flexShrink:0}},indicatorSeparator:function(e,t){var n=e.isDisabled,r=e.theme,o=r.spacing.baseUnit,i=r.colors;return s({label:"indicatorSeparator",alignSelf:"stretch",width:1},t?{}:{backgroundColor:n?i.neutral10:i.neutral20,marginBottom:2*o,marginTop:2*o})},input:function(e,t){var n=e.isDisabled,r=e.value,o=e.theme,i=o.spacing,a=o.colors;return s(s({visibility:n?"hidden":"visible",transform:r?"translateZ(0)":""},Gt),t?{}:{margin:i.baseUnit/2,paddingBottom:i.baseUnit/2,paddingTop:i.baseUnit/2,color:a.neutral80})},loadingIndicator:function(e,t){var n=e.isFocused,r=e.size,o=e.theme,i=o.colors,a=o.spacing.baseUnit;return s({label:"loadingIndicator",display:"flex",transition:"color 150ms",alignSelf:"center",fontSize:r,lineHeight:1,marginRight:r,textAlign:"center",verticalAlign:"middle"},t?{}:{color:n?i.neutral60:i.neutral20,padding:2*a})},loadingMessage:kt,menu:function(e,t){var n,r=e.placement,o=e.theme,a=o.borderRadius,u=o.spacing,l=o.colors;return s((i(n={label:"menu"},function(e){return e?{bottom:"top",top:"bottom"}[e]:"bottom"}(r),"100%"),i(n,"position","absolute"),i(n,"width","100%"),i(n,"zIndex",1),n),t?{}:{backgroundColor:l.neutral0,borderRadius:a,boxShadow:"0 0 0 1px hsla(0, 0%, 0%, 0.1), 0 4px 11px hsla(0, 0%, 0%, 0.1)",marginBottom:u.menuGutter,marginTop:u.menuGutter})},menuList:function(e,t){var n=e.maxHeight,r=e.theme.spacing.baseUnit;return s({maxHeight:n,overflowY:"auto",position:"relative",WebkitOverflowScrolling:"touch"},t?{}:{paddingBottom:r,paddingTop:r})},menuPortal:function(e){var t=e.rect,n=e.offset,r=e.position;return{left:t.left,position:r,top:n,width:t.width,zIndex:1}},multiValue:function(e,t){var n=e.theme,r=n.spacing,o=n.borderRadius,i=n.colors;return s({label:"multiValue",display:"flex",minWidth:0},t?{}:{backgroundColor:i.neutral10,borderRadius:o/2,margin:r.baseUnit/2})},multiValueLabel:function(e,t){var n=e.theme,r=n.borderRadius,o=n.colors,i=e.cropWithEllipsis;return s({overflow:"hidden",textOverflow:i||void 0===i?"ellipsis":void 0,whiteSpace:"nowrap"},t?{}:{borderRadius:r/2,color:o.neutral80,fontSize:"85%",padding:3,paddingLeft:6})},multiValueRemove:function(e,t){var n=e.theme,r=n.spacing,o=n.borderRadius,i=n.colors,a=e.isFocused;return s({alignItems:"center",display:"flex"},t?{}:{borderRadius:o/2,backgroundColor:a?i.dangerLight:void 0,paddingLeft:r.baseUnit,paddingRight:r.baseUnit,":hover":{backgroundColor:i.dangerLight,color:i.danger}})},noOptionsMessage:At,option:function(e,t){var n=e.isDisabled,r=e.isFocused,o=e.isSelected,i=e.theme,a=i.spacing,u=i.colors;return s({label:"option",cursor:"default",display:"block",fontSize:"inherit",width:"100%",userSelect:"none",WebkitTapHighlightColor:"rgba(0, 0, 0, 0)"},t?{}:{backgroundColor:o?u.primary:r?u.primary25:"transparent",color:n?u.neutral20:o?u.neutral0:"inherit",padding:"".concat(2*a.baseUnit,"px ").concat(3*a.baseUnit,"px"),":active":{backgroundColor:n?void 0:o?u.primary:u.primary50}})},placeholder:function(e,t){var n=e.theme,r=n.spacing,o=n.colors;return s({label:"placeholder",gridArea:"1 / 1 / 2 / 3"},t?{}:{color:o.neutral50,marginLeft:r.baseUnit/2,marginRight:r.baseUnit/2})},singleValue:function(e,t){var n=e.isDisabled,r=e.theme,o=r.spacing,i=r.colors;return s({label:"singleValue",gridArea:"1 / 1 / 2 / 3",maxWidth:"100%",overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},t?{}:{color:n?i.neutral40:i.neutral80,marginLeft:o.baseUnit/2,marginRight:o.baseUnit/2})},valueContainer:function(e,t){var n=e.theme.spacing,r=e.isMulti,o=e.hasValue,i=e.selectProps.controlShouldRenderValue;return s({alignItems:"center",display:r&&o&&i?"flex":"grid",flex:1,flexWrap:"wrap",WebkitOverflowScrolling:"touch",position:"relative",overflow:"hidden"},t?{}:{padding:"".concat(n.baseUnit/2,"px ").concat(2*n.baseUnit,"px")})}};var Tn,Fn={borderRadius:4,colors:{primary:"#2684FF",primary75:"#4C9AFF",primary50:"#B2D4FF",primary25:"#DEEBFF",danger:"#DE350B",dangerLight:"#FFBDAD",neutral0:"hsl(0, 0%, 100%)",neutral5:"hsl(0, 0%, 95%)",neutral10:"hsl(0, 0%, 90%)",neutral20:"hsl(0, 0%, 80%)",neutral30:"hsl(0, 0%, 70%)",neutral40:"hsl(0, 0%, 60%)",neutral50:"hsl(0, 0%, 50%)",neutral60:"hsl(0, 0%, 40%)",neutral70:"hsl(0, 0%, 30%)",neutral80:"hsl(0, 0%, 20%)",neutral90:"hsl(0, 0%, 10%)"},spacing:{baseUnit:4,controlHeight:38,menuGutter:8}},Hn={"aria-live":"polite",backspaceRemovesValue:!0,blurInputOnSelect:ft(),captureMenuScroll:!ft(),classNames:{},closeMenuOnSelect:!0,closeMenuOnScroll:!1,components:{},controlShouldRenderValue:!0,escapeClearsValue:!1,filterOption:function(e,t){if(e.data.__isNew__)return!0;var n=s({ignoreCase:!0,ignoreAccents:!0,stringify:hn,trim:!0,matchFrom:"any"},Tn),r=n.ignoreCase,o=n.ignoreAccents,i=n.stringify,a=n.trim,u=n.matchFrom,l=a?pn(t):t,c=a?pn(i(e)):i(e);return r&&(l=l.toLowerCase(),c=c.toLowerCase()),o&&(l=dn(l),c=fn(c)),"start"===u?c.substr(0,l.length)===l:c.indexOf(l)>-1},formatGroupLabel:function(e){return e.label},getOptionLabel:function(e){return e.label},getOptionValue:function(e){return e.value},isDisabled:!1,isLoading:!1,isMulti:!1,isRtl:!1,isSearchable:!0,isOptionDisabled:function(e){return!!e.isDisabled},loadingMessage:function(){return"Loading..."},maxMenuHeight:300,minMenuHeight:140,menuIsOpen:!1,menuPlacement:"bottom",menuPosition:"absolute",menuShouldBlockScroll:!1,menuShouldScrollIntoView:!function(){try{return/Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(navigator.userAgent)}catch(Pt){return!1}}(),noOptionsMessage:function(){return"No options"},openMenuOnFocus:!1,openMenuOnClick:!0,options:[],pageSize:5,placeholder:"Select...",screenReaderStatus:function(e){var t=e.count;return"".concat(t," result").concat(1!==t?"s":""," available")},styles:{},tabIndex:0,tabSelectsValue:!0,unstyled:!1};function Nn(e,t,n,r){return{type:"option",data:t,isDisabled:Yn(e,t,n),isSelected:Gn(e,t,n),label:Wn(e,t),value:$n(e,t),index:r}}function Un(e,t){return e.options.map((function(n,r){if("options"in n){var o=n.options.map((function(n,r){return Nn(e,n,t,r)})).filter((function(t){return zn(e,t)}));return o.length>0?{type:"group",data:n,options:o,index:r}:void 0}var i=Nn(e,n,t,r);return zn(e,i)?i:void 0})).filter(vt)}function jn(e){return e.reduce((function(e,t){return"group"===t.type?e.push.apply(e,x(t.options.map((function(e){return e.data})))):e.push(t.data),e}),[])}function Bn(e,t){return e.reduce((function(e,n){return"group"===n.type?e.push.apply(e,x(n.options.map((function(e){return{data:e.data,id:"".concat(t,"-").concat(n.index,"-").concat(e.index)}})))):e.push({data:n.data,id:"".concat(t,"-").concat(n.index)}),e}),[])}function zn(e,t){var n=e.inputValue,r=void 0===n?"":n,o=t.data,i=t.isSelected,a=t.label,s=t.value;return(!Xn(e)||!i)&&qn(e,{label:a,value:s,data:o},r)}var _n=function(e,t){var n;return(null===(n=e.find((function(e){return e.data===t})))||void 0===n?void 0:n.id)||null},Wn=function(e,t){return e.getOptionLabel(t)},$n=function(e,t){return e.getOptionValue(t)};function Yn(e,t,n){return"function"==typeof e.isOptionDisabled&&e.isOptionDisabled(t,n)}function Gn(e,t,n){if(n.indexOf(t)>-1)return!0;if("function"==typeof e.isOptionSelected)return e.isOptionSelected(t,n);var r=$n(e,t);return n.some((function(t){return $n(e,t)===r}))}function qn(e,t,n){return!e.filterOption||e.filterOption(t,n)}var Xn=function(e){var t=e.hideSelectedOptions,n=e.isMulti;return void 0===t?n:t},Kn=1,Zn=function(e){!function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,"prototype",{writable:!1}),t&&(0,b.A)(e,t)}(n,e);var t=function(e){var t=w();return function(){var n,r=y(e);if(t){var o=y(this).constructor;n=Reflect.construct(r,arguments,o)}else n=r.apply(this,arguments);return O(this,n)}}(n);function n(e){var r;if(function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,n),(r=t.call(this,e)).state={ariaSelection:null,focusedOption:null,focusedOptionId:null,focusableOptionsWithIds:[],focusedValue:null,inputIsHidden:!1,isFocused:!1,selectValue:[],clearFocusValueOnUpdate:!1,prevWasFocused:!1,inputIsHiddenAfterUpdate:void 0,prevProps:void 0,instancePrefix:""},r.blockOptionHover=!1,r.isComposing=!1,r.commonProps=void 0,r.initialTouchX=0,r.initialTouchY=0,r.openAfterFocus=!1,r.scrollToFocusedOptionOnUpdate=!1,r.userIsDragging=void 0,r.isAppleDevice=Rn()||Dn(),r.controlRef=null,r.getControlRef=function(e){r.controlRef=e},r.focusedOptionRef=null,r.getFocusedOptionRef=function(e){r.focusedOptionRef=e},r.menuListRef=null,r.getMenuListRef=function(e){r.menuListRef=e},r.inputRef=null,r.getInputRef=function(e){r.inputRef=e},r.focus=r.focusInput,r.blur=r.blurInput,r.onChange=function(e,t){var n=r.props,o=n.onChange,i=n.name;t.name=i,r.ariaOnChange(e,t),o(e,t)},r.setValue=function(e,t,n){var o=r.props,i=o.closeMenuOnSelect,a=o.isMulti,s=o.inputValue;r.onInputChange("",{action:"set-value",prevInputValue:s}),i&&(r.setState({inputIsHiddenAfterUpdate:!a}),r.onMenuClose()),r.setState({clearFocusValueOnUpdate:!0}),r.onChange(e,{action:t,option:n})},r.selectOption=function(e){var t=r.props,n=t.blurInputOnSelect,o=t.isMulti,i=t.name,a=r.state.selectValue,s=o&&r.isOptionSelected(e,a),u=r.isOptionDisabled(e,a);if(s){var l=r.getOptionValue(e);r.setValue(a.filter((function(e){return r.getOptionValue(e)!==l})),"deselect-option",e)}else{if(u)return void r.ariaOnChange(e,{action:"select-option",option:e,name:i});o?r.setValue([].concat(x(a),[e]),"select-option",e):r.setValue(e,"select-option")}n&&r.blurInput()},r.removeValue=function(e){var t=r.props.isMulti,n=r.state.selectValue,o=r.getOptionValue(e),i=n.filter((function(e){return r.getOptionValue(e)!==o})),a=gt(t,i,i[0]||null);r.onChange(a,{action:"remove-value",removedValue:e}),r.focusInput()},r.clearValue=function(){var e=r.state.selectValue;r.onChange(gt(r.props.isMulti,[],null),{action:"clear",removedValues:e})},r.popValue=function(){var e=r.props.isMulti,t=r.state.selectValue,n=t[t.length-1],o=t.slice(0,t.length-1),i=gt(e,o,o[0]||null);n&&r.onChange(i,{action:"pop-value",removedValue:n})},r.getFocusedOptionId=function(e){return _n(r.state.focusableOptionsWithIds,e)},r.getFocusableOptionsWithIds=function(){return Bn(Un(r.props,r.state.selectValue),r.getElementId("option"))},r.getValue=function(){return r.state.selectValue},r.cx=function(){for(var e=arguments.length,t=new Array(e),n=0;n5||i>5}},r.onTouchEnd=function(e){r.userIsDragging||(r.controlRef&&!r.controlRef.contains(e.target)&&r.menuListRef&&!r.menuListRef.contains(e.target)&&r.blurInput(),r.initialTouchX=0,r.initialTouchY=0)},r.onControlTouchEnd=function(e){r.userIsDragging||r.onControlMouseDown(e)},r.onClearIndicatorTouchEnd=function(e){r.userIsDragging||r.onClearIndicatorMouseDown(e)},r.onDropdownIndicatorTouchEnd=function(e){r.userIsDragging||r.onDropdownIndicatorMouseDown(e)},r.handleInputChange=function(e){var t=r.props.inputValue,n=e.currentTarget.value;r.setState({inputIsHiddenAfterUpdate:!1}),r.onInputChange(n,{action:"input-change",prevInputValue:t}),r.props.menuIsOpen||r.onMenuOpen()},r.onInputFocus=function(e){r.props.onFocus&&r.props.onFocus(e),r.setState({inputIsHiddenAfterUpdate:!1,isFocused:!0}),(r.openAfterFocus||r.props.openMenuOnFocus)&&r.openMenu("first"),r.openAfterFocus=!1},r.onInputBlur=function(e){var t=r.props.inputValue;r.menuListRef&&r.menuListRef.contains(document.activeElement)?r.inputRef.focus():(r.props.onBlur&&r.props.onBlur(e),r.onInputChange("",{action:"input-blur",prevInputValue:t}),r.onMenuClose(),r.setState({focusedValue:null,isFocused:!1}))},r.onOptionHover=function(e){if(!r.blockOptionHover&&r.state.focusedOption!==e){var t=r.getFocusableOptions().indexOf(e);r.setState({focusedOption:e,focusedOptionId:t>-1?r.getFocusedOptionId(e):null})}},r.shouldHideSelectedOptions=function(){return Xn(r.props)},r.onValueInputFocus=function(e){e.preventDefault(),e.stopPropagation(),r.focus()},r.onKeyDown=function(e){var t=r.props,n=t.isMulti,o=t.backspaceRemovesValue,i=t.escapeClearsValue,a=t.inputValue,s=t.isClearable,u=t.isDisabled,l=t.menuIsOpen,c=t.onKeyDown,f=t.tabSelectsValue,d=t.openMenuOnFocus,p=r.state,h=p.focusedOption,m=p.focusedValue,v=p.selectValue;if(!(u||"function"==typeof c&&(c(e),e.defaultPrevented))){switch(r.blockOptionHover=!0,e.key){case"ArrowLeft":if(!n||a)return;r.focusValue("previous");break;case"ArrowRight":if(!n||a)return;r.focusValue("next");break;case"Delete":case"Backspace":if(a)return;if(m)r.removeValue(m);else{if(!o)return;n?r.popValue():s&&r.clearValue()}break;case"Tab":if(r.isComposing)return;if(e.shiftKey||!l||!f||!h||d&&r.isOptionSelected(h,v))return;r.selectOption(h);break;case"Enter":if(229===e.keyCode)break;if(l){if(!h)return;if(r.isComposing)return;r.selectOption(h);break}return;case"Escape":l?(r.setState({inputIsHiddenAfterUpdate:!1}),r.onInputChange("",{action:"menu-close",prevInputValue:a}),r.onMenuClose()):s&&i&&r.clearValue();break;case" ":if(a)return;if(!l){r.openMenu("first");break}if(!h)return;r.selectOption(h);break;case"ArrowUp":l?r.focusOption("up"):r.openMenu("last");break;case"ArrowDown":l?r.focusOption("down"):r.openMenu("first");break;case"PageUp":if(!l)return;r.focusOption("pageup");break;case"PageDown":if(!l)return;r.focusOption("pagedown");break;case"Home":if(!l)return;r.focusOption("first");break;case"End":if(!l)return;r.focusOption("last");break;default:return}e.preventDefault()}},r.state.instancePrefix="react-select-"+(r.props.instanceId||++Kn),r.state.selectValue=rt(e.value),e.menuIsOpen&&r.state.selectValue.length){var o=r.getFocusableOptionsWithIds(),i=r.buildFocusableOptions(),a=i.indexOf(r.state.selectValue[0]);r.state.focusableOptionsWithIds=o,r.state.focusedOption=i[a],r.state.focusedOptionId=_n(o,i[a])}return r}return function(e,t,n){t&&g(e.prototype,t),n&&g(e,n),Object.defineProperty(e,"prototype",{writable:!1})}(n,[{key:"componentDidMount",value:function(){this.startListeningComposition(),this.startListeningToTouch(),this.props.closeMenuOnScroll&&document&&document.addEventListener&&document.addEventListener("scroll",this.onScroll,!0),this.props.autoFocus&&this.focusInput(),this.props.menuIsOpen&&this.state.focusedOption&&this.menuListRef&&this.focusedOptionRef&&ct(this.menuListRef,this.focusedOptionRef)}},{key:"componentDidUpdate",value:function(e){var t=this.props,n=t.isDisabled,r=t.menuIsOpen,o=this.state.isFocused;(o&&!n&&e.isDisabled||o&&r&&!e.menuIsOpen)&&this.focusInput(),o&&n&&!e.isDisabled?this.setState({isFocused:!1},this.onMenuClose):o||n||!e.isDisabled||this.inputRef!==document.activeElement||this.setState({isFocused:!0}),this.menuListRef&&this.focusedOptionRef&&this.scrollToFocusedOptionOnUpdate&&(ct(this.menuListRef,this.focusedOptionRef),this.scrollToFocusedOptionOnUpdate=!1)}},{key:"componentWillUnmount",value:function(){this.stopListeningComposition(),this.stopListeningToTouch(),document.removeEventListener("scroll",this.onScroll,!0)}},{key:"onMenuOpen",value:function(){this.props.onMenuOpen()}},{key:"onMenuClose",value:function(){this.onInputChange("",{action:"menu-close",prevInputValue:this.props.inputValue}),this.props.onMenuClose()}},{key:"onInputChange",value:function(e,t){this.props.onInputChange(e,t)}},{key:"focusInput",value:function(){this.inputRef&&this.inputRef.focus()}},{key:"blurInput",value:function(){this.inputRef&&this.inputRef.blur()}},{key:"openMenu",value:function(e){var t=this,n=this.state,r=n.selectValue,o=n.isFocused,i=this.buildFocusableOptions(),a="first"===e?0:i.length-1;if(!this.props.isMulti){var s=i.indexOf(r[0]);s>-1&&(a=s)}this.scrollToFocusedOptionOnUpdate=!(o&&this.menuListRef),this.setState({inputIsHiddenAfterUpdate:!1,focusedValue:null,focusedOption:i[a],focusedOptionId:this.getFocusedOptionId(i[a])},(function(){return t.onMenuOpen()}))}},{key:"focusValue",value:function(e){var t=this.state,n=t.selectValue,r=t.focusedValue;if(this.props.isMulti){this.setState({focusedOption:null});var o=n.indexOf(r);r||(o=-1);var i=n.length-1,a=-1;if(n.length){switch(e){case"previous":a=0===o?0:-1===o?i:o-1;break;case"next":o>-1&&o0&&void 0!==arguments[0]?arguments[0]:"first",t=this.props.pageSize,n=this.state.focusedOption,r=this.getFocusableOptions();if(r.length){var o=0,i=r.indexOf(n);n||(i=-1),"up"===e?o=i>0?i-1:r.length-1:"down"===e?o=(i+1)%r.length:"pageup"===e?(o=i-t)<0&&(o=0):"pagedown"===e?(o=i+t)>r.length-1&&(o=r.length-1):"last"===e&&(o=r.length-1),this.scrollToFocusedOptionOnUpdate=!0,this.setState({focusedOption:r[o],focusedValue:null,focusedOptionId:this.getFocusedOptionId(r[o])})}}},{key:"getTheme",value:function(){return this.props.theme?"function"==typeof this.props.theme?this.props.theme(Fn):s(s({},Fn),this.props.theme):Fn}},{key:"getCommonProps",value:function(){var e=this.clearValue,t=this.cx,n=this.getStyles,r=this.getClassNames,o=this.getValue,i=this.selectOption,a=this.setValue,s=this.props,u=s.isMulti,l=s.isRtl,c=s.options;return{clearValue:e,cx:t,getStyles:n,getClassNames:r,getValue:o,hasValue:this.hasValue(),isMulti:u,isRtl:l,options:c,selectOption:i,selectProps:s,setValue:a,theme:this.getTheme()}}},{key:"hasValue",value:function(){return this.state.selectValue.length>0}},{key:"hasOptions",value:function(){return!!this.getFocusableOptions().length}},{key:"isClearable",value:function(){var e=this.props,t=e.isClearable,n=e.isMulti;return void 0===t?n:t}},{key:"isOptionDisabled",value:function(e,t){return Yn(this.props,e,t)}},{key:"isOptionSelected",value:function(e,t){return Gn(this.props,e,t)}},{key:"filterOption",value:function(e,t){return qn(this.props,e,t)}},{key:"formatOptionLabel",value:function(e,t){if("function"==typeof this.props.formatOptionLabel){var n=this.props.inputValue,r=this.state.selectValue;return this.props.formatOptionLabel(e,{context:t,inputValue:n,selectValue:r})}return this.getOptionLabel(e)}},{key:"formatGroupLabel",value:function(e){return this.props.formatGroupLabel(e)}},{key:"startListeningComposition",value:function(){document&&document.addEventListener&&(document.addEventListener("compositionstart",this.onCompositionStart,!1),document.addEventListener("compositionend",this.onCompositionEnd,!1))}},{key:"stopListeningComposition",value:function(){document&&document.removeEventListener&&(document.removeEventListener("compositionstart",this.onCompositionStart),document.removeEventListener("compositionend",this.onCompositionEnd))}},{key:"startListeningToTouch",value:function(){document&&document.addEventListener&&(document.addEventListener("touchstart",this.onTouchStart,!1),document.addEventListener("touchmove",this.onTouchMove,!1),document.addEventListener("touchend",this.onTouchEnd,!1))}},{key:"stopListeningToTouch",value:function(){document&&document.removeEventListener&&(document.removeEventListener("touchstart",this.onTouchStart),document.removeEventListener("touchmove",this.onTouchMove),document.removeEventListener("touchend",this.onTouchEnd))}},{key:"renderInput",value:function(){var e=this.props,t=e.isDisabled,n=e.isSearchable,r=e.inputId,o=e.inputValue,i=e.tabIndex,a=e.form,u=e.menuIsOpen,l=e.required,c=this.getComponents().Input,f=this.state,d=f.inputIsHidden,h=f.ariaSelection,m=this.commonProps,g=r||this.getElementId("input"),b=s(s(s({"aria-autocomplete":"list","aria-expanded":u,"aria-haspopup":!0,"aria-errormessage":this.props["aria-errormessage"],"aria-invalid":this.props["aria-invalid"],"aria-label":this.props["aria-label"],"aria-labelledby":this.props["aria-labelledby"],"aria-required":l,role:"combobox","aria-activedescendant":this.isAppleDevice?void 0:this.state.focusedOptionId||""},u&&{"aria-controls":this.getElementId("listbox")}),!n&&{"aria-readonly":!0}),this.hasValue()?"initial-input-focus"===(null==h?void 0:h.action)&&{"aria-describedby":this.getElementId("live-region")}:{"aria-describedby":this.getElementId("placeholder")});return n?p.createElement(c,(0,v.A)({},m,{autoCapitalize:"none",autoComplete:"off",autoCorrect:"off",id:g,innerRef:this.getInputRef,isDisabled:t,isHidden:d,onBlur:this.onInputBlur,onChange:this.handleInputChange,onFocus:this.onInputFocus,spellCheck:"false",tabIndex:i,form:a,type:"text",value:o},b)):p.createElement(vn,(0,v.A)({id:g,innerRef:this.getInputRef,onBlur:this.onInputBlur,onChange:et,onFocus:this.onInputFocus,disabled:t,tabIndex:i,inputMode:"none",form:a,value:""},b))}},{key:"renderPlaceholderOrValue",value:function(){var e=this,t=this.getComponents(),n=t.MultiValue,r=t.MultiValueContainer,o=t.MultiValueLabel,i=t.MultiValueRemove,a=t.SingleValue,s=t.Placeholder,u=this.commonProps,l=this.props,c=l.controlShouldRenderValue,f=l.isDisabled,d=l.isMulti,h=l.inputValue,m=l.placeholder,g=this.state,b=g.selectValue,y=g.focusedValue,w=g.isFocused;if(!this.hasValue()||!c)return h?null:p.createElement(s,(0,v.A)({},u,{key:"placeholder",isDisabled:f,isFocused:w,innerProps:{id:this.getElementId("placeholder")}}),m);if(d)return b.map((function(t,a){var s=t===y,l="".concat(e.getOptionLabel(t),"-").concat(e.getOptionValue(t));return p.createElement(n,(0,v.A)({},u,{components:{Container:r,Label:o,Remove:i},isFocused:s,isDisabled:f,key:l,index:a,removeProps:{onClick:function(){return e.removeValue(t)},onTouchEnd:function(){return e.removeValue(t)},onMouseDown:function(e){e.preventDefault()}},data:t}),e.formatOptionLabel(t,"value"))}));if(h)return null;var O=b[0];return p.createElement(a,(0,v.A)({},u,{data:O,isDisabled:f}),this.formatOptionLabel(O,"value"))}},{key:"renderClearIndicator",value:function(){var e=this.getComponents().ClearIndicator,t=this.commonProps,n=this.props,r=n.isDisabled,o=n.isLoading,i=this.state.isFocused;if(!this.isClearable()||!e||r||!this.hasValue()||o)return null;var a={onMouseDown:this.onClearIndicatorMouseDown,onTouchEnd:this.onClearIndicatorTouchEnd,"aria-hidden":"true"};return p.createElement(e,(0,v.A)({},t,{innerProps:a,isFocused:i}))}},{key:"renderLoadingIndicator",value:function(){var e=this.getComponents().LoadingIndicator,t=this.commonProps,n=this.props,r=n.isDisabled,o=n.isLoading,i=this.state.isFocused;if(!e||!o)return null;return p.createElement(e,(0,v.A)({},t,{innerProps:{"aria-hidden":"true"},isDisabled:r,isFocused:i}))}},{key:"renderIndicatorSeparator",value:function(){var e=this.getComponents(),t=e.DropdownIndicator,n=e.IndicatorSeparator;if(!t||!n)return null;var r=this.commonProps,o=this.props.isDisabled,i=this.state.isFocused;return p.createElement(n,(0,v.A)({},r,{isDisabled:o,isFocused:i}))}},{key:"renderDropdownIndicator",value:function(){var e=this.getComponents().DropdownIndicator;if(!e)return null;var t=this.commonProps,n=this.props.isDisabled,r=this.state.isFocused,o={onMouseDown:this.onDropdownIndicatorMouseDown,onTouchEnd:this.onDropdownIndicatorTouchEnd,"aria-hidden":"true"};return p.createElement(e,(0,v.A)({},t,{innerProps:o,isDisabled:n,isFocused:r}))}},{key:"renderMenu",value:function(){var e=this,t=this.getComponents(),n=t.Group,r=t.GroupHeading,o=t.Menu,i=t.MenuList,a=t.MenuPortal,s=t.LoadingMessage,u=t.NoOptionsMessage,l=t.Option,c=this.commonProps,f=this.state.focusedOption,d=this.props,h=d.captureMenuScroll,m=d.inputValue,g=d.isLoading,b=d.loadingMessage,y=d.minMenuHeight,w=d.maxMenuHeight,O=d.menuIsOpen,x=d.menuPlacement,C=d.menuPosition,S=d.menuPortalTarget,I=d.menuShouldBlockScroll,E=d.menuShouldScrollIntoView,A=d.noOptionsMessage,k=d.onMenuScrollToTop,V=d.onMenuScrollToBottom;if(!O)return null;var M,P=function(t,n){var r=t.type,o=t.data,i=t.isDisabled,a=t.isSelected,s=t.label,u=t.value,d=f===o,h=i?void 0:function(){return e.onOptionHover(o)},m=i?void 0:function(){return e.selectOption(o)},g="".concat(e.getElementId("option"),"-").concat(n),b={id:g,onClick:m,onMouseMove:h,onMouseOver:h,tabIndex:-1,role:"option","aria-selected":e.isAppleDevice?void 0:a};return p.createElement(l,(0,v.A)({},c,{innerProps:b,data:o,isDisabled:i,isSelected:a,key:g,label:s,type:r,value:u,isFocused:d,innerRef:d?e.getFocusedOptionRef:void 0}),e.formatOptionLabel(t.data,"menu"))};if(this.hasOptions())M=this.getCategorizedOptions().map((function(t){if("group"===t.type){var o=t.data,i=t.options,a=t.index,s="".concat(e.getElementId("group"),"-").concat(a),u="".concat(s,"-heading");return p.createElement(n,(0,v.A)({},c,{key:s,data:o,options:i,Heading:r,headingProps:{id:u,data:t.data},label:e.formatGroupLabel(t.data)}),t.options.map((function(e){return P(e,"".concat(a,"-").concat(e.index))})))}if("option"===t.type)return P(t,"".concat(t.index))}));else if(g){var R=b({inputValue:m});if(null===R)return null;M=p.createElement(s,c,R)}else{var D=A({inputValue:m});if(null===D)return null;M=p.createElement(u,c,D)}var L={minMenuHeight:y,maxMenuHeight:w,menuPlacement:x,menuPosition:C,menuShouldScrollIntoView:E},T=p.createElement(St,(0,v.A)({},c,L),(function(t){var n=t.ref,r=t.placerProps,a=r.placement,s=r.maxHeight;return p.createElement(o,(0,v.A)({},c,L,{innerRef:n,innerProps:{onMouseDown:e.onMenuMouseDown,onMouseMove:e.onMenuMouseMove},isLoading:g,placement:a}),p.createElement(kn,{captureEnabled:h,onTopArrive:k,onBottomArrive:V,lockEnabled:I},(function(t){return p.createElement(i,(0,v.A)({},c,{innerRef:function(n){e.getMenuListRef(n),t(n)},innerProps:{role:"listbox","aria-multiselectable":c.isMulti,id:e.getElementId("listbox")},isLoading:g,maxHeight:s,focusedOption:f}),M)})))}));return S||"fixed"===C?p.createElement(a,(0,v.A)({},c,{appendTo:S,controlElement:this.controlRef,menuPlacement:x,menuPosition:C}),T):T}},{key:"renderFormField",value:function(){var e=this,t=this.props,n=t.delimiter,r=t.isDisabled,o=t.isMulti,i=t.name,a=t.required,s=this.state.selectValue;if(a&&!this.hasValue()&&!r)return p.createElement(Mn,{name:i,onFocus:this.onValueInputFocus});if(i&&!r){if(o){if(n){var u=s.map((function(t){return e.getOptionValue(t)})).join(n);return p.createElement("input",{name:i,type:"hidden",value:u})}var l=s.length>0?s.map((function(t,n){return p.createElement("input",{key:"i-".concat(n),name:i,type:"hidden",value:e.getOptionValue(t)})})):p.createElement("input",{name:i,type:"hidden",value:""});return p.createElement("div",null,l)}var c=s[0]?this.getOptionValue(s[0]):"";return p.createElement("input",{name:i,type:"hidden",value:c})}}},{key:"renderLiveRegion",value:function(){var e=this.commonProps,t=this.state,n=t.ariaSelection,r=t.focusedOption,o=t.focusedValue,i=t.isFocused,a=t.selectValue,s=this.getFocusableOptions();return p.createElement(rn,(0,v.A)({},e,{id:this.getElementId("live-region"),ariaSelection:n,focusedOption:r,focusedValue:o,isFocused:i,selectValue:a,focusableOptions:s,isAppleDevice:this.isAppleDevice}))}},{key:"render",value:function(){var e=this.getComponents(),t=e.Control,n=e.IndicatorsContainer,r=e.SelectContainer,o=e.ValueContainer,i=this.props,a=i.className,s=i.id,u=i.isDisabled,l=i.menuIsOpen,c=this.state.isFocused,f=this.commonProps=this.getCommonProps();return p.createElement(r,(0,v.A)({},f,{className:a,innerProps:{id:s,onKeyDown:this.onKeyDown},isDisabled:u,isFocused:c}),this.renderLiveRegion(),p.createElement(t,(0,v.A)({},f,{innerRef:this.getControlRef,innerProps:{onMouseDown:this.onControlMouseDown,onTouchEnd:this.onControlTouchEnd},isDisabled:u,isFocused:c,menuIsOpen:l}),p.createElement(o,(0,v.A)({},f,{isDisabled:u}),this.renderPlaceholderOrValue(),this.renderInput()),p.createElement(n,(0,v.A)({},f,{isDisabled:u}),this.renderClearIndicator(),this.renderLoadingIndicator(),this.renderIndicatorSeparator(),this.renderDropdownIndicator())),this.renderMenu(),this.renderFormField())}}],[{key:"getDerivedStateFromProps",value:function(e,t){var n=t.prevProps,r=t.clearFocusValueOnUpdate,o=t.inputIsHiddenAfterUpdate,i=t.ariaSelection,a=t.isFocused,u=t.prevWasFocused,l=t.instancePrefix,c=e.options,f=e.value,d=e.menuIsOpen,p=e.inputValue,h=e.isMulti,m=rt(f),v={};if(n&&(f!==n.value||c!==n.options||d!==n.menuIsOpen||p!==n.inputValue)){var g=d?function(e,t){return jn(Un(e,t))}(e,m):[],b=d?Bn(Un(e,m),"".concat(l,"-option")):[],y=r?function(e,t){var n=e.focusedValue,r=e.selectValue.indexOf(n);if(r>-1){if(t.indexOf(n)>-1)return n;if(r-1?n:t[0]}(t,g);v={selectValue:m,focusedOption:w,focusedOptionId:_n(b,w),focusableOptionsWithIds:b,focusedValue:y,clearFocusValueOnUpdate:!1}}var O=null!=o&&e!==n?{inputIsHidden:o,inputIsHiddenAfterUpdate:void 0}:{},x=i,C=a&&u;return a&&!C&&(x={value:gt(h,m,m[0]||null),options:m,action:"initial-input-focus"},C=!u),"initial-input-focus"===(null==i?void 0:i.action)&&(x=null),s(s(s({},v),O),{},{prevProps:e,ariaSelection:x,prevWasFocused:C})}}]),n}(p.Component);Zn.defaultProps=Hn;var Jn=(0,p.forwardRef)((function(e,t){var n=function(e){var t=e.defaultInputValue,n=void 0===t?"":t,r=e.defaultMenuIsOpen,o=void 0!==r&&r,i=e.defaultValue,a=void 0===i?null:i,u=e.inputValue,l=e.menuIsOpen,f=e.onChange,h=e.onInputChange,v=e.onMenuClose,g=e.onMenuOpen,b=e.value,y=d(e,m),w=c((0,p.useState)(void 0!==u?u:n),2),O=w[0],x=w[1],C=c((0,p.useState)(void 0!==l?l:o),2),S=C[0],I=C[1],E=c((0,p.useState)(void 0!==b?b:a),2),A=E[0],k=E[1],V=(0,p.useCallback)((function(e,t){"function"==typeof f&&f(e,t),k(e)}),[f]),M=(0,p.useCallback)((function(e,t){var n;"function"==typeof h&&(n=h(e,t)),x(void 0!==n?n:e)}),[h]),P=(0,p.useCallback)((function(){"function"==typeof g&&g(),I(!0)}),[g]),R=(0,p.useCallback)((function(){"function"==typeof v&&v(),I(!1)}),[v]),D=void 0!==u?u:O,L=void 0!==l?l:S,T=void 0!==b?b:A;return s(s({},y),{},{inputValue:D,menuIsOpen:L,onChange:V,onInputChange:M,onMenuClose:R,onMenuOpen:P,value:T})}(e);return p.createElement(Zn,(0,v.A)({ref:t},n))})),Qn=Jn},4967:(e,t,n)=>{n.d(t,{UE:()=>ue,ll:()=>oe,rD:()=>le,UU:()=>se,cY:()=>ie,BN:()=>ae});const r=Math.min,o=Math.max,i=Math.round,a=Math.floor,s=e=>({x:e,y:e}),u={left:"right",right:"left",bottom:"top",top:"bottom"},l={start:"end",end:"start"};function c(e,t,n){return o(e,r(t,n))}function f(e,t){return"function"==typeof e?e(t):e}function d(e){return e.split("-")[0]}function p(e){return e.split("-")[1]}function h(e){return"x"===e?"y":"x"}function m(e){return"y"===e?"height":"width"}function v(e){return["top","bottom"].includes(d(e))?"y":"x"}function g(e){return h(v(e))}function b(e){return e.replace(/start|end/g,(e=>l[e]))}function y(e){return e.replace(/left|right|bottom|top/g,(e=>u[e]))}function w(e){return"number"!=typeof e?function(e){return{top:0,right:0,bottom:0,left:0,...e}}(e):{top:e,right:e,bottom:e,left:e}}function O(e){const{x:t,y:n,width:r,height:o}=e;return{width:r,height:o,top:n,left:t,right:t+r,bottom:n+o,x:t,y:n}}function x(e,t,n){let{reference:r,floating:o}=e;const i=v(t),a=g(t),s=m(a),u=d(t),l="y"===i,c=r.x+r.width/2-o.width/2,f=r.y+r.height/2-o.height/2,h=r[s]/2-o[s]/2;let b;switch(u){case"top":b={x:c,y:r.y-o.height};break;case"bottom":b={x:c,y:r.y+r.height};break;case"right":b={x:r.x+r.width,y:f};break;case"left":b={x:r.x-o.width,y:f};break;default:b={x:r.x,y:r.y}}switch(p(t)){case"start":b[a]-=h*(n&&l?-1:1);break;case"end":b[a]+=h*(n&&l?-1:1)}return b}async function C(e,t){var n;void 0===t&&(t={});const{x:r,y:o,platform:i,rects:a,elements:s,strategy:u}=e,{boundary:l="clippingAncestors",rootBoundary:c="viewport",elementContext:d="floating",altBoundary:p=!1,padding:h=0}=f(t,e),m=w(h),v=s[p?"floating"===d?"reference":"floating":d],g=O(await i.getClippingRect({element:null==(n=await(null==i.isElement?void 0:i.isElement(v)))||n?v:v.contextElement||await(null==i.getDocumentElement?void 0:i.getDocumentElement(s.floating)),boundary:l,rootBoundary:c,strategy:u})),b="floating"===d?{x:r,y:o,width:a.floating.width,height:a.floating.height}:a.reference,y=await(null==i.getOffsetParent?void 0:i.getOffsetParent(s.floating)),x=await(null==i.isElement?void 0:i.isElement(y))&&await(null==i.getScale?void 0:i.getScale(y))||{x:1,y:1},C=O(i.convertOffsetParentRelativeRectToViewportRelativeRect?await i.convertOffsetParentRelativeRectToViewportRelativeRect({elements:s,rect:b,offsetParent:y,strategy:u}):b);return{top:(g.top-C.top+m.top)/x.y,bottom:(C.bottom-g.bottom+m.bottom)/x.y,left:(g.left-C.left+m.left)/x.x,right:(C.right-g.right+m.right)/x.x}}function S(){return"undefined"!=typeof window}function I(e){return k(e)?(e.nodeName||"").toLowerCase():"#document"}function E(e){var t;return(null==e||null==(t=e.ownerDocument)?void 0:t.defaultView)||window}function A(e){var t;return null==(t=(k(e)?e.ownerDocument:e.document)||window.document)?void 0:t.documentElement}function k(e){return!!S()&&(e instanceof Node||e instanceof E(e).Node)}function V(e){return!!S()&&(e instanceof Element||e instanceof E(e).Element)}function M(e){return!!S()&&(e instanceof HTMLElement||e instanceof E(e).HTMLElement)}function P(e){return!(!S()||"undefined"==typeof ShadowRoot)&&(e instanceof ShadowRoot||e instanceof E(e).ShadowRoot)}function R(e){const{overflow:t,overflowX:n,overflowY:r,display:o}=N(e);return/auto|scroll|overlay|hidden|clip/.test(t+r+n)&&!["inline","contents"].includes(o)}function D(e){return["table","td","th"].includes(I(e))}function L(e){return[":popover-open",":modal"].some((t=>{try{return e.matches(t)}catch(n){return!1}}))}function T(e){const t=F(),n=V(e)?N(e):e;return"none"!==n.transform||"none"!==n.perspective||!!n.containerType&&"normal"!==n.containerType||!t&&!!n.backdropFilter&&"none"!==n.backdropFilter||!t&&!!n.filter&&"none"!==n.filter||["transform","perspective","filter"].some((e=>(n.willChange||"").includes(e)))||["paint","layout","strict","content"].some((e=>(n.contain||"").includes(e)))}function F(){return!("undefined"==typeof CSS||!CSS.supports)&&CSS.supports("-webkit-backdrop-filter","none")}function H(e){return["html","body","#document"].includes(I(e))}function N(e){return E(e).getComputedStyle(e)}function U(e){return V(e)?{scrollLeft:e.scrollLeft,scrollTop:e.scrollTop}:{scrollLeft:e.scrollX,scrollTop:e.scrollY}}function j(e){if("html"===I(e))return e;const t=e.assignedSlot||e.parentNode||P(e)&&e.host||A(e);return P(t)?t.host:t}function B(e){const t=j(e);return H(t)?e.ownerDocument?e.ownerDocument.body:e.body:M(t)&&R(t)?t:B(t)}function z(e,t,n){var r;void 0===t&&(t=[]),void 0===n&&(n=!0);const o=B(e),i=o===(null==(r=e.ownerDocument)?void 0:r.body),a=E(o);if(i){const e=_(a);return t.concat(a,a.visualViewport||[],R(o)?o:[],e&&n?z(e):[])}return t.concat(o,z(o,[],n))}function _(e){return e.parent&&Object.getPrototypeOf(e.parent)?e.frameElement:null}function W(e){const t=N(e);let n=parseFloat(t.width)||0,r=parseFloat(t.height)||0;const o=M(e),a=o?e.offsetWidth:n,s=o?e.offsetHeight:r,u=i(n)!==a||i(r)!==s;return u&&(n=a,r=s),{width:n,height:r,$:u}}function $(e){return V(e)?e:e.contextElement}function Y(e){const t=$(e);if(!M(t))return s(1);const n=t.getBoundingClientRect(),{width:r,height:o,$:a}=W(t);let u=(a?i(n.width):n.width)/r,l=(a?i(n.height):n.height)/o;return u&&Number.isFinite(u)||(u=1),l&&Number.isFinite(l)||(l=1),{x:u,y:l}}const G=s(0);function q(e){const t=E(e);return F()&&t.visualViewport?{x:t.visualViewport.offsetLeft,y:t.visualViewport.offsetTop}:G}function X(e,t,n,r){void 0===t&&(t=!1),void 0===n&&(n=!1);const o=e.getBoundingClientRect(),i=$(e);let a=s(1);t&&(r?V(r)&&(a=Y(r)):a=Y(e));const u=function(e,t,n){return void 0===t&&(t=!1),!(!n||t&&n!==E(e))&&t}(i,n,r)?q(i):s(0);let l=(o.left+u.x)/a.x,c=(o.top+u.y)/a.y,f=o.width/a.x,d=o.height/a.y;if(i){const e=E(i),t=r&&V(r)?E(r):r;let n=e,o=_(n);for(;o&&r&&t!==n;){const e=Y(o),t=o.getBoundingClientRect(),r=N(o),i=t.left+(o.clientLeft+parseFloat(r.paddingLeft))*e.x,a=t.top+(o.clientTop+parseFloat(r.paddingTop))*e.y;l*=e.x,c*=e.y,f*=e.x,d*=e.y,l+=i,c+=a,n=E(o),o=_(n)}}return O({width:f,height:d,x:l,y:c})}function K(e,t){const n=U(e).scrollLeft;return t?t.left+n:X(A(e)).left+n}function Z(e,t,n){let r;if("viewport"===t)r=function(e,t){const n=E(e),r=A(e),o=n.visualViewport;let i=r.clientWidth,a=r.clientHeight,s=0,u=0;if(o){i=o.width,a=o.height;const e=F();(!e||e&&"fixed"===t)&&(s=o.offsetLeft,u=o.offsetTop)}return{width:i,height:a,x:s,y:u}}(e,n);else if("document"===t)r=function(e){const t=A(e),n=U(e),r=e.ownerDocument.body,i=o(t.scrollWidth,t.clientWidth,r.scrollWidth,r.clientWidth),a=o(t.scrollHeight,t.clientHeight,r.scrollHeight,r.clientHeight);let s=-n.scrollLeft+K(e);const u=-n.scrollTop;return"rtl"===N(r).direction&&(s+=o(t.clientWidth,r.clientWidth)-i),{width:i,height:a,x:s,y:u}}(A(e));else if(V(t))r=function(e,t){const n=X(e,!0,"fixed"===t),r=n.top+e.clientTop,o=n.left+e.clientLeft,i=M(e)?Y(e):s(1);return{width:e.clientWidth*i.x,height:e.clientHeight*i.y,x:o*i.x,y:r*i.y}}(t,n);else{const n=q(e);r={...t,x:t.x-n.x,y:t.y-n.y}}return O(r)}function J(e,t){const n=j(e);return!(n===t||!V(n)||H(n))&&("fixed"===N(n).position||J(n,t))}function Q(e,t,n){const r=M(t),o=A(t),i="fixed"===n,a=X(e,!0,i,t);let u={scrollLeft:0,scrollTop:0};const l=s(0);if(r||!r&&!i)if(("body"!==I(t)||R(o))&&(u=U(t)),r){const e=X(t,!0,i,t);l.x=e.x+t.clientLeft,l.y=e.y+t.clientTop}else o&&(l.x=K(o));let c=0,f=0;if(o&&!r&&!i){const e=o.getBoundingClientRect();f=e.top+u.scrollTop,c=e.left+u.scrollLeft-K(o,e)}return{x:a.left+u.scrollLeft-l.x-c,y:a.top+u.scrollTop-l.y-f,width:a.width,height:a.height}}function ee(e){return"static"===N(e).position}function te(e,t){if(!M(e)||"fixed"===N(e).position)return null;if(t)return t(e);let n=e.offsetParent;return A(e)===n&&(n=n.ownerDocument.body),n}function ne(e,t){const n=E(e);if(L(e))return n;if(!M(e)){let t=j(e);for(;t&&!H(t);){if(V(t)&&!ee(t))return t;t=j(t)}return n}let r=te(e,t);for(;r&&D(r)&&ee(r);)r=te(r,t);return r&&H(r)&&ee(r)&&!T(r)?n:r||function(e){let t=j(e);for(;M(t)&&!H(t);){if(T(t))return t;if(L(t))return null;t=j(t)}return null}(e)||n}const re={convertOffsetParentRelativeRectToViewportRelativeRect:function(e){let{elements:t,rect:n,offsetParent:r,strategy:o}=e;const i="fixed"===o,a=A(r),u=!!t&&L(t.floating);if(r===a||u&&i)return n;let l={scrollLeft:0,scrollTop:0},c=s(1);const f=s(0),d=M(r);if((d||!d&&!i)&&(("body"!==I(r)||R(a))&&(l=U(r)),M(r))){const e=X(r);c=Y(r),f.x=e.x+r.clientLeft,f.y=e.y+r.clientTop}return{width:n.width*c.x,height:n.height*c.y,x:n.x*c.x-l.scrollLeft*c.x+f.x,y:n.y*c.y-l.scrollTop*c.y+f.y}},getDocumentElement:A,getClippingRect:function(e){let{element:t,boundary:n,rootBoundary:i,strategy:a}=e;const s=[..."clippingAncestors"===n?L(t)?[]:function(e,t){const n=t.get(e);if(n)return n;let r=z(e,[],!1).filter((e=>V(e)&&"body"!==I(e))),o=null;const i="fixed"===N(e).position;let a=i?j(e):e;for(;V(a)&&!H(a);){const t=N(a),n=T(a);n||"fixed"!==t.position||(o=null),(i?!n&&!o:!n&&"static"===t.position&&o&&["absolute","fixed"].includes(o.position)||R(a)&&!n&&J(e,a))?r=r.filter((e=>e!==a)):o=t,a=j(a)}return t.set(e,r),r}(t,this._c):[].concat(n),i],u=s[0],l=s.reduce(((e,n)=>{const i=Z(t,n,a);return e.top=o(i.top,e.top),e.right=r(i.right,e.right),e.bottom=r(i.bottom,e.bottom),e.left=o(i.left,e.left),e}),Z(t,u,a));return{width:l.right-l.left,height:l.bottom-l.top,x:l.left,y:l.top}},getOffsetParent:ne,getElementRects:async function(e){const t=this.getOffsetParent||ne,n=this.getDimensions,r=await n(e.floating);return{reference:Q(e.reference,await t(e.floating),e.strategy),floating:{x:0,y:0,width:r.width,height:r.height}}},getClientRects:function(e){return Array.from(e.getClientRects())},getDimensions:function(e){const{width:t,height:n}=W(e);return{width:t,height:n}},getScale:Y,isElement:V,isRTL:function(e){return"rtl"===N(e).direction}};function oe(e,t,n,i){void 0===i&&(i={});const{ancestorScroll:s=!0,ancestorResize:u=!0,elementResize:l="function"==typeof ResizeObserver,layoutShift:c="function"==typeof IntersectionObserver,animationFrame:f=!1}=i,d=$(e),p=s||u?[...d?z(d):[],...z(t)]:[];p.forEach((e=>{s&&e.addEventListener("scroll",n,{passive:!0}),u&&e.addEventListener("resize",n)}));const h=d&&c?function(e,t){let n,i=null;const s=A(e);function u(){var e;clearTimeout(n),null==(e=i)||e.disconnect(),i=null}return function l(c,f){void 0===c&&(c=!1),void 0===f&&(f=1),u();const{left:d,top:p,width:h,height:m}=e.getBoundingClientRect();if(c||t(),!h||!m)return;const v={rootMargin:-a(p)+"px "+-a(s.clientWidth-(d+h))+"px "+-a(s.clientHeight-(p+m))+"px "+-a(d)+"px",threshold:o(0,r(1,f))||1};let g=!0;function b(e){const t=e[0].intersectionRatio;if(t!==f){if(!g)return l();t?l(!1,t):n=setTimeout((()=>{l(!1,1e-7)}),1e3)}g=!1}try{i=new IntersectionObserver(b,{...v,root:s.ownerDocument})}catch(y){i=new IntersectionObserver(b,v)}i.observe(e)}(!0),u}(d,n):null;let m,v=-1,g=null;l&&(g=new ResizeObserver((e=>{let[r]=e;r&&r.target===d&&g&&(g.unobserve(t),cancelAnimationFrame(v),v=requestAnimationFrame((()=>{var e;null==(e=g)||e.observe(t)}))),n()})),d&&!f&&g.observe(d),g.observe(t));let b=f?X(e):null;return f&&function t(){const r=X(e);!b||r.x===b.x&&r.y===b.y&&r.width===b.width&&r.height===b.height||n();b=r,m=requestAnimationFrame(t)}(),n(),()=>{var e;p.forEach((e=>{s&&e.removeEventListener("scroll",n),u&&e.removeEventListener("resize",n)})),null==h||h(),null==(e=g)||e.disconnect(),g=null,f&&cancelAnimationFrame(m)}}const ie=function(e){return void 0===e&&(e=0),{name:"offset",options:e,async fn(t){var n,r;const{x:o,y:i,placement:a,middlewareData:s}=t,u=await async function(e,t){const{placement:n,platform:r,elements:o}=e,i=await(null==r.isRTL?void 0:r.isRTL(o.floating)),a=d(n),s=p(n),u="y"===v(n),l=["left","top"].includes(a)?-1:1,c=i&&u?-1:1,h=f(t,e);let{mainAxis:m,crossAxis:g,alignmentAxis:b}="number"==typeof h?{mainAxis:h,crossAxis:0,alignmentAxis:null}:{mainAxis:h.mainAxis||0,crossAxis:h.crossAxis||0,alignmentAxis:h.alignmentAxis};return s&&"number"==typeof b&&(g="end"===s?-1*b:b),u?{x:g*c,y:m*l}:{x:m*l,y:g*c}}(t,e);return a===(null==(n=s.offset)?void 0:n.placement)&&null!=(r=s.arrow)&&r.alignmentOffset?{}:{x:o+u.x,y:i+u.y,data:{...u,placement:a}}}}},ae=function(e){return void 0===e&&(e={}),{name:"shift",options:e,async fn(t){const{x:n,y:r,placement:o}=t,{mainAxis:i=!0,crossAxis:a=!1,limiter:s={fn:e=>{let{x:t,y:n}=e;return{x:t,y:n}}},...u}=f(e,t),l={x:n,y:r},p=await C(t,u),m=v(d(o)),g=h(m);let b=l[g],y=l[m];if(i){const e="y"===g?"bottom":"right";b=c(b+p["y"===g?"top":"left"],b,b-p[e])}if(a){const e="y"===m?"bottom":"right";y=c(y+p["y"===m?"top":"left"],y,y-p[e])}const w=s.fn({...t,[g]:b,[m]:y});return{...w,data:{x:w.x-n,y:w.y-r,enabled:{[g]:i,[m]:a}}}}}},se=function(e){return void 0===e&&(e={}),{name:"flip",options:e,async fn(t){var n,r;const{placement:o,middlewareData:i,rects:a,initialPlacement:s,platform:u,elements:l}=t,{mainAxis:c=!0,crossAxis:h=!0,fallbackPlacements:w,fallbackStrategy:O="bestFit",fallbackAxisSideDirection:x="none",flipAlignment:S=!0,...I}=f(e,t);if(null!=(n=i.arrow)&&n.alignmentOffset)return{};const E=d(o),A=v(s),k=d(s)===s,V=await(null==u.isRTL?void 0:u.isRTL(l.floating)),M=w||(k||!S?[y(s)]:function(e){const t=y(e);return[b(e),t,b(t)]}(s)),P="none"!==x;!w&&P&&M.push(...function(e,t,n,r){const o=p(e);let i=function(e,t,n){const r=["left","right"],o=["right","left"],i=["top","bottom"],a=["bottom","top"];switch(e){case"top":case"bottom":return n?t?o:r:t?r:o;case"left":case"right":return t?i:a;default:return[]}}(d(e),"start"===n,r);return o&&(i=i.map((e=>e+"-"+o)),t&&(i=i.concat(i.map(b)))),i}(s,S,x,V));const R=[s,...M],D=await C(t,I),L=[];let T=(null==(r=i.flip)?void 0:r.overflows)||[];if(c&&L.push(D[E]),h){const e=function(e,t,n){void 0===n&&(n=!1);const r=p(e),o=g(e),i=m(o);let a="x"===o?r===(n?"end":"start")?"right":"left":"start"===r?"bottom":"top";return t.reference[i]>t.floating[i]&&(a=y(a)),[a,y(a)]}(o,a,V);L.push(D[e[0]],D[e[1]])}if(T=[...T,{placement:o,overflows:L}],!L.every((e=>e<=0))){var F,H;const e=((null==(F=i.flip)?void 0:F.index)||0)+1,t=R[e];if(t)return{data:{index:e,overflows:T},reset:{placement:t}};let n=null==(H=T.filter((e=>e.overflows[0]<=0)).sort(((e,t)=>e.overflows[1]-t.overflows[1]))[0])?void 0:H.placement;if(!n)switch(O){case"bestFit":{var N;const e=null==(N=T.filter((e=>{if(P){const t=v(e.placement);return t===A||"y"===t}return!0})).map((e=>[e.placement,e.overflows.filter((e=>e>0)).reduce(((e,t)=>e+t),0)])).sort(((e,t)=>e[1]-t[1]))[0])?void 0:N[0];e&&(n=e);break}case"initialPlacement":n=s}if(o!==n)return{reset:{placement:n}}}return{}}}},ue=e=>({name:"arrow",options:e,async fn(t){const{x:n,y:o,placement:i,rects:a,platform:s,elements:u,middlewareData:l}=t,{element:d,padding:h=0}=f(e,t)||{};if(null==d)return{};const v=w(h),b={x:n,y:o},y=g(i),O=m(y),x=await s.getDimensions(d),C="y"===y,S=C?"top":"left",I=C?"bottom":"right",E=C?"clientHeight":"clientWidth",A=a.reference[O]+a.reference[y]-b[y]-a.floating[O],k=b[y]-a.reference[y],V=await(null==s.getOffsetParent?void 0:s.getOffsetParent(d));let M=V?V[E]:0;M&&await(null==s.isElement?void 0:s.isElement(V))||(M=u.floating[E]||a.floating[O]);const P=A/2-k/2,R=M/2-x[O]/2-1,D=r(v[S],R),L=r(v[I],R),T=D,F=M-x[O]-L,H=M/2-x[O]/2+P,N=c(T,H,F),U=!l.arrow&&null!=p(i)&&H!==N&&a.reference[O]/2-(H{const r=new Map,o={platform:re,...n},i={...o.platform,_c:r};return(async(e,t,n)=>{const{placement:r="bottom",strategy:o="absolute",middleware:i=[],platform:a}=n,s=i.filter(Boolean),u=await(null==a.isRTL?void 0:a.isRTL(t));let l=await a.getElementRects({reference:e,floating:t,strategy:o}),{x:c,y:f}=x(l,r,u),d=r,p={},h=0;for(let m=0;m{A.r(s),A.d(s,{assets:()=>C,contentTitle:()=>B,default:()=>I,frontMatter:()=>h,metadata:()=>u,toc:()=>x});var n=A(74848),t=A(28453),r=A(24033),o=A(50363),a=A(15781);const i=A.p+"assets/images/update-websocket-message-8fd40ee660162130c707deba122a4fba.gif";var l=A(78478),c=A(76761),d=A(19365),g=A(11470);const h={sidebar_position:2},B="Connect",u={id:"docs/connect",title:"Connect",description:"How to connect to an API",source:"@site/docs/docs/connect.mdx",sourceDirName:"docs",slug:"/docs/connect",permalink:"/docs/connect",draft:!1,unlisted:!1,editUrl:"https://github.com/OvidijusParsiunas/deep-chat/tree/main/website/docs/docs/connect.mdx",tags:[],version:"current",sidebarPosition:2,frontMatter:{sidebar_position:2},sidebar:"docs",previous:{title:"Installation",permalink:"/docs/installation"},next:{title:"Direct Connection",permalink:"/docs/directConnection/"}},C={},x=[{value:"connect",id:"connect-1",level:3},{value:"Example",id:"example",level:4},{value:"requestBodyLimits",id:"requestBodyLimits",level:3},{value:"Example",id:"example-1",level:4},{value:"Types",id:"types",level:2},{value:"Response",id:"Response",level:3},{value:"Examples:",id:"examples",level:4},{value:"Websocket",id:"Websocket",level:3},{value:"Example",id:"example-2",level:4},{value:"Status Bubble Example",id:"status-bubble-example",level:4},{value:"Stream",id:"Stream",level:3},{value:"Stream Service Example",id:"stream-service-example",level:4},{value:"Regular Service Example",id:"regular-service-example",level:4},{value:"Handler",id:"Handler",level:3},{value:"Example",id:"example-3",level:4},{value:"Signals",id:"Signals",level:4}];function E(e){const s={a:"a",admonition:"admonition",code:"code",em:"em",h1:"h1",h2:"h2",h3:"h3",h4:"h4",li:"li",p:"p",pre:"pre",strong:"strong",ul:"ul",...(0,t.R)(),...e.components};return(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(s.h1,{id:"connect",children:"Connect"}),"\n",(0,n.jsx)("h2",{children:"How to connect to an API"}),"\n",(0,n.jsxs)(s.p,{children:["You can connect to any API by defining their details inside the ",(0,n.jsx)(s.a,{href:"/docs/connect#connect-1",children:(0,n.jsx)(s.code,{children:"connect"})})," property. The target endpoint will need to be able to accept\nand respond using the formats described below."]}),"\n",(0,n.jsxs)("a",{href:"https://youtu.be/NuRhPeqDCus",children:[(0,n.jsx)("img",{src:c.A,className:"youtube-icon"}),(0,n.jsx)(s.p,{children:"Video demo"})]}),"\n",(0,n.jsx)("h3",{children:"Request message"}),"\n",(0,n.jsx)(s.p,{children:"The outgoing Deep Chat request body is encapsulated in one of the following formats:"}),"\n",(0,n.jsxs)(s.ul,{children:["\n",(0,n.jsxs)(s.li,{children:["\n",(0,n.jsxs)(s.p,{children:["When sending ",(0,n.jsx)(s.strong,{children:"text"})," based messages only, the request body will have the following JSON type: ",(0,n.jsx)("br",{}),"\n{",(0,n.jsx)(s.a,{href:"/docs/messages/#MessageContent",children:(0,n.jsx)(s.code,{children:"messages: MessageContent[]"})}),"} ",(0,n.jsx)("br",{})]}),"\n"]}),"\n",(0,n.jsxs)(s.li,{children:["\n",(0,n.jsxs)(s.p,{children:["When sending messages that contain ",(0,n.jsx)(s.strong,{children:"files"}),", the request body is going to be serialized inside a ",(0,n.jsx)(s.a,{href:"https://developer.mozilla.org/en-US/docs/Web/API/FormData",children:"FormData"})," type\nwhere files are set inside an array property called ",(0,n.jsx)(s.em,{children:'"files"'})," and each text message is stored inside a ",(0,n.jsx)(s.em,{children:'"message{index}"'})," property with a corresponding index: ",(0,n.jsx)("br",{}),"\n{",(0,n.jsx)(s.code,{children:"files: File[]"}),", ",(0,n.jsx)(s.a,{href:"/docs/messages/#MessageContent",children:(0,n.jsx)(s.code,{children:"message1: MessageContent"})}),", ",(0,n.jsx)(s.a,{href:"/docs/messages/#MessageContent",children:(0,n.jsx)(s.code,{children:"message2: MessageContent"})}),"... } ",(0,n.jsx)("br",{})]}),"\n"]}),"\n"]}),"\n",(0,n.jsx)("h3",{children:"Response message"}),"\n",(0,n.jsxs)(s.p,{children:["Response from the target server needs to use the ",(0,n.jsx)(s.a,{href:"#Response",children:(0,n.jsx)(s.code,{children:"Response"})})," JSON type."]}),"\n",(0,n.jsx)(s.admonition,{type:"tip",children:(0,n.jsxs)(s.p,{children:["If you don't want / can't change the target server to handle the required object types, use the ",(0,n.jsx)(s.a,{href:"/docs/interceptors",children:(0,n.jsx)(s.code,{children:"interceptor"})})," properties\nto augment the transferred objects or the ",(0,n.jsx)(s.a,{href:"#Handler",children:(0,n.jsx)(s.code,{children:"handler"})})," function to control the request code."]})}),"\n",(0,n.jsx)("h2",{children:"Connection properties"}),"\n","\n",(0,n.jsx)(l.A,{children:()=>A(61886).readdAutoNavShadowToggle()}),"\n",(0,n.jsx)(s.h3,{id:"connect-1",children:(0,n.jsx)(s.code,{children:"connect"})}),"\n",(0,n.jsxs)(s.ul,{children:["\n",(0,n.jsxs)(s.li,{children:["\n",(0,n.jsxs)(s.p,{children:["Type: {",(0,n.jsx)("br",{}),"\n\xa0\xa0\xa0\xa0 ",(0,n.jsx)(s.code,{children:"url?: string"}),", ",(0,n.jsx)("br",{}),"\n\xa0\xa0\xa0\xa0 ",(0,n.jsx)(s.code,{children:"method?: string"}),", ",(0,n.jsx)("br",{}),"\n\xa0\xa0\xa0\xa0 ",(0,n.jsx)(s.code,{children:"headers?: {[string]: string}"}),", ",(0,n.jsx)("br",{}),"\n\xa0\xa0\xa0\xa0 ",(0,n.jsx)(s.code,{children:"additionalBodyProps?: {[string]: any}"}),", ",(0,n.jsx)("br",{}),"\n\xa0\xa0\xa0\xa0 ",(0,n.jsx)(s.a,{href:"https://developer.mozilla.org/en-US/docs/Web/API/Request/credentials",children:(0,n.jsx)(s.code,{children:"credentials?: string"})}),", ",(0,n.jsx)("br",{}),"\n\xa0\xa0\xa0\xa0 ",(0,n.jsx)(s.a,{href:"#Websocket",children:(0,n.jsx)(s.code,{children:"websocket?: Websocket"})}),", ",(0,n.jsx)("br",{}),"\n\xa0\xa0\xa0\xa0 ",(0,n.jsx)(s.a,{href:"#Stream",children:(0,n.jsx)(s.code,{children:"stream?: Stream"})}),", ",(0,n.jsx)("br",{}),"\n\xa0\xa0\xa0\xa0 ",(0,n.jsx)(s.a,{href:"#Handler",children:(0,n.jsx)(s.code,{children:"handler?: Handler"})})," ",(0,n.jsx)("br",{}),"\n}"]}),"\n"]}),"\n",(0,n.jsxs)(s.li,{children:["\n",(0,n.jsxs)(s.p,{children:["Default: ",(0,n.jsx)(s.em,{children:'{ method: "POST", credentials: "same-origin" }'})]}),"\n"]}),"\n"]}),"\n",(0,n.jsxs)(s.p,{children:["Settings for the outgoing API requests. This object MUST have ",(0,n.jsx)(s.code,{children:"url"})," or ",(0,n.jsx)(s.code,{children:"handler"})," property defined. ",(0,n.jsx)("br",{}),"\n",(0,n.jsx)(s.code,{children:"additionalBodyProps"})," is used to add additional key value properties to the outgoing message body. ",(0,n.jsx)("br",{}),"\n",(0,n.jsx)(s.code,{children:"credentials"})," is used to configure whether the outgoing request should contain cookies. ",(0,n.jsx)(s.a,{href:"https://developer.mozilla.org/en-US/docs/Web/API/Request/credentials",children:"More info"}),". ",(0,n.jsx)("br",{}),"\n",(0,n.jsx)(s.code,{children:"websocket"})," is used to establish a websocket connection instead of sending REST requests."]}),"\n",(0,n.jsxs)("a",{href:"https://youtu.be/NuRhPeqDCus?si=B98OGweTBwiMnMzb&t=40",children:[(0,n.jsx)("img",{src:c.A,className:"youtube-icon"}),(0,n.jsx)(s.p,{children:"Video demo"})]}),"\n",(0,n.jsx)(s.h4,{id:"example",children:"Example"}),"\n",(0,n.jsx)(r.A,{children:(0,n.jsx)(o.A,{style:{borderRadius:"8px"},connect:{url:"https://customapi.com/message",method:"POST",headers:{customName:"customHeaderValue"},additionalBodyProps:{customBodyField:"customBodyValue"}}})}),"\n",(0,n.jsxs)(g.A,{children:[(0,n.jsx)(d.A,{value:"js",label:"Sample code",children:(0,n.jsx)(s.pre,{children:(0,n.jsx)(s.code,{className:"language-html",children:'\n'})})}),(0,n.jsx)(d.A,{value:"py",label:"Full code",children:(0,n.jsx)(s.pre,{children:(0,n.jsx)(s.code,{className:"language-html",children:'\x3c!-- This example is for Vanilla JS and should be tailored to your framework (see Examples) --\x3e\n\n\n'})})})]}),"\n",(0,n.jsx)(a.A,{}),"\n",(0,n.jsx)(s.h3,{id:"requestBodyLimits",children:(0,n.jsx)(s.code,{children:"requestBodyLimits"})}),"\n",(0,n.jsxs)(s.ul,{children:["\n",(0,n.jsxs)(s.li,{children:["Type: {",(0,n.jsx)(s.code,{children:"maxMessages?: number"}),", ",(0,n.jsx)(s.code,{children:"totalMessagesMaxCharLength?: number"}),"}"]}),"\n"]}),"\n",(0,n.jsxs)(s.p,{children:["Used to limit the content that is going to be included in the outgoing requests. ",(0,n.jsx)("br",{}),"\n",(0,n.jsx)(s.code,{children:"maxMessages"})," is the maximum number of messages counting from the most recent one. If this is set to a number higher than ",(0,n.jsx)(s.em,{children:"0"})," such as ",(0,n.jsx)(s.em,{children:"1"})," - the outgoing request will only include the new user message,\nif it is ",(0,n.jsx)(s.em,{children:"2"})," - it will also include the message before the latest one (from AI or the user) and so on... If the number is ",(0,n.jsx)(s.em,{children:"0"})," or below - the request will include all messages in the chat. If\nit is ",(0,n.jsx)(s.em,{children:"undefined"}),", the request will only include the input text/files. ",(0,n.jsx)("br",{}),"\n",(0,n.jsx)(s.code,{children:"totalMessagesMaxCharLength"})," is the total maximum number of text characters sent in the request counting from the most recent message. ",(0,n.jsx)("br",{}),"\nThese limits do not include the ",(0,n.jsx)(s.a,{href:"/docs/messages#introMessage",children:(0,n.jsx)(s.code,{children:"introMessage"})}),"."]}),"\n",(0,n.jsx)(s.h4,{id:"example-1",children:"Example"}),"\n",(0,n.jsx)(r.A,{children:(0,n.jsx)(o.A,{style:{borderRadius:"8px"},introMessage:{text:"Observe the data that is going to be sent below."},requestBodyLimits:{totalMessagesMaxCharLength:20,maxMessages:2},demo:!0})}),"\n",(0,n.jsxs)(g.A,{children:[(0,n.jsx)(d.A,{value:"js",label:"Sample code",children:(0,n.jsx)(s.pre,{children:(0,n.jsx)(s.code,{className:"language-html",children:'\n'})})}),(0,n.jsx)(d.A,{value:"py",label:"Full code",children:(0,n.jsx)(s.pre,{children:(0,n.jsx)(s.code,{className:"language-html",children:'\x3c!-- This example is for Vanilla JS and should be tailored to your framework (see Examples) --\x3e\n\n\n'})})})]}),"\n",(0,n.jsx)(a.A,{}),"\n",(0,n.jsx)(s.h2,{id:"types",children:"Types"}),"\n",(0,n.jsx)(s.p,{children:"Types shared with other component properties:"}),"\n",(0,n.jsx)(s.h3,{id:"Response",children:(0,n.jsx)(s.code,{children:"Response"})}),"\n",(0,n.jsxs)(s.ul,{children:["\n",(0,n.jsxs)(s.li,{children:["Type: {",(0,n.jsx)(s.a,{href:"/docs/messages/#MessageContent",children:(0,n.jsx)(s.code,{children:"MessageContent"})}),", ",(0,n.jsx)(s.code,{children:"error?: string"}),", ",(0,n.jsx)(s.code,{children:"overwrite?: boolean"}),"}"]}),"\n"]}),"\n",(0,n.jsxs)(s.p,{children:["Object containing response information from the target service. It has the same properties as ",(0,n.jsx)(s.a,{href:"/docs/messages/#MessageContent",children:(0,n.jsx)(s.code,{children:"MessageContent"})})," with additional optional ",(0,n.jsx)(s.code,{children:"error"})," and\n",(0,n.jsx)(s.code,{children:"overwrite"})," properties: ",(0,n.jsx)("br",{}),"\n",(0,n.jsx)(s.code,{children:"text"})," is the content for a text message. ",(0,n.jsx)("br",{}),"\n",(0,n.jsx)(s.code,{children:"files"})," is an array that encapsulates details on the response files. ",(0,n.jsx)("br",{}),"\n",(0,n.jsx)(s.code,{children:"html"})," is a string that defines the markup for ",(0,n.jsx)(s.a,{href:"/docs/messages/HTML",children:"custom elements"}),". It must describe full elements. ",(0,n.jsx)("br",{}),"\n",(0,n.jsx)(s.code,{children:"error"})," describes information about a server error. If the ",(0,n.jsx)(s.em,{children:"displayServiceErrorMessages"})," property in ",(0,n.jsx)(s.a,{href:"/docs/messages#errorMessages",children:(0,n.jsx)(s.code,{children:"errorMessages"})}),"\nis set to ",(0,n.jsx)(s.em,{children:"true"}),", the same message will be displayed in the chat's error bubble. ",(0,n.jsx)("br",{}),"\n",(0,n.jsx)(s.code,{children:"overwrite"})," replaces last message from the same role or creates a new one if not found. ",(0,n.jsx)(s.a,{href:"#status-bubble-example",children:"Status bubble"})," example. ",(0,n.jsx)("br",{})]}),"\n",(0,n.jsx)(s.h4,{id:"examples",children:"Examples:"}),"\n",(0,n.jsxs)(s.p,{children:["Simple - ",(0,n.jsx)(s.code,{children:'{text: "Simple response"}'})," ",(0,n.jsx)("br",{}),"\nMixed - ",(0,n.jsx)(s.code,{children:'{files: [{name: "file.txt"}], html: "
Custom Element
"}'})," ",(0,n.jsx)("br",{}),"\nCustom role - ",(0,n.jsx)(s.code,{children:'{role: "bob", text: "Message from bob"}'})," ",(0,n.jsx)("br",{}),"\nError - ",(0,n.jsx)(s.code,{children:'{error: "Service Error"}'})," ",(0,n.jsx)("br",{}),"\nOverwrite - ",(0,n.jsx)(s.code,{children:'{text: "New text", overwrite: true}'})," ",(0,n.jsx)("br",{})]}),"\n",(0,n.jsx)(a.A,{}),"\n",(0,n.jsx)(s.h3,{id:"Websocket",children:(0,n.jsx)(s.code,{children:"Websocket"})}),"\n",(0,n.jsxs)(s.ul,{children:["\n",(0,n.jsxs)(s.li,{children:["Type: ",(0,n.jsx)(s.code,{children:"boolean"})," | ",(0,n.jsx)(s.code,{children:"string"})," | ",(0,n.jsx)(s.code,{children:"string[]"})]}),"\n"]}),"\n",(0,n.jsxs)(s.p,{children:["This is used to establish a websocket connection with your server. Enable it by defining the ",(0,n.jsx)(s.code,{children:"websocket"})," property inside the ",(0,n.jsx)(s.a,{href:"#connect-1",children:(0,n.jsx)(s.code,{children:"connect"})})," object\nas a ",(0,n.jsx)(s.code,{children:"boolean"})," ",(0,n.jsx)(s.em,{children:"true"})," or as a string ",(0,n.jsx)(s.a,{href:"https://developer.mozilla.org/en-US/docs/Web/API/WebSockets_API/Writing_WebSocket_client_applications#creating_a_websocket_object",children:"connection protocol"}),"\n(or an array of strings for multiple protocols). ",(0,n.jsx)("br",{}),"\nIt is important to note that exchanged messages must be Stringified JSONs where Deep Chat will send its messages using the ",(0,n.jsx)(s.a,{href:"connect",children:"Request message"})," format\nand the server must send its messages using the ",(0,n.jsx)(s.a,{href:"#Response",children:(0,n.jsx)(s.code,{children:"Response"})})," format. Example messages: ",(0,n.jsx)("br",{}),"\nDeep Chat message: ",(0,n.jsx)("br",{}),"\n",(0,n.jsx)(s.code,{children:'\'{"messages":[{"role":"user","text":"Message from Deep Chat"}]}\''})," ",(0,n.jsx)("br",{}),"\nServer message: ",(0,n.jsx)("br",{}),"\n",(0,n.jsx)(s.code,{children:'\'{"text":"Message from the server"}\''})]}),"\n",(0,n.jsx)(s.h4,{id:"example-2",children:"Example"}),"\n",(0,n.jsx)(r.A,{children:(0,n.jsx)(o.A,{connect:{url:"wss://customapi.com",websocket:!0},style:{borderRadius:"8px"},introMessage:'{"text": Chat will attempt to establish a websocket connection as soon as the component loads up."}'})}),"\n",(0,n.jsxs)(g.A,{children:[(0,n.jsx)(d.A,{value:"js",label:"Sample code",children:(0,n.jsx)(s.pre,{children:(0,n.jsx)(s.code,{className:"language-html",children:'\n'})})}),(0,n.jsx)(d.A,{value:"py",label:"Full code",children:(0,n.jsx)(s.pre,{children:(0,n.jsx)(s.code,{className:"language-html",children:'\x3c!-- This example is for Vanilla JS and should be tailored to your framework (see Examples) --\x3e\n\n\n'})})})]}),"\n",(0,n.jsx)(a.A,{}),"\n",(0,n.jsx)(s.admonition,{type:"tip",children:(0,n.jsxs)(s.p,{children:["Check the ",(0,n.jsx)(s.a,{href:"https://github.com/OvidijusParsiunas/deep-chat/tree/main/example-servers/node/websockets",children:"websocket server template"})," to help you get started."]})}),"\n",(0,n.jsx)(a.A,{}),"\n",(0,n.jsx)(s.h4,{id:"status-bubble-example",children:"Status Bubble Example"}),"\n",(0,n.jsx)("img",{src:i,style:{marginLeft:"auto",marginRight:"auto",display:"flex",height:"380px",marginBottom:"5px"}}),"\n",(0,n.jsxs)(g.A,{children:[(0,n.jsx)(d.A,{value:"js",label:"Sample code",children:(0,n.jsx)(s.pre,{children:(0,n.jsx)(s.code,{className:"language-text",children:'Messages from the server:\n1: {text: "Downloading...", overwrite: true}\n2: {text: "Loading...", overwrite: true}\n3: {text: "Processing...", overwrite: true}\n4: {text: "Ready...", overwrite: true}\n'})})}),(0,n.jsx)(d.A,{value:"py",label:"Full code",children:(0,n.jsx)(s.pre,{children:(0,n.jsx)(s.code,{className:"language-text",children:'Component configuration:\n\n\nMessages from the server:\n1: {text: "Downloading...", overwrite: true}\n2: {text: "Loading...", overwrite: true}\n3: {text: "Processing...", overwrite: true}\n4: {text: "Ready...", overwrite: true}\n'})})})]}),"\n",(0,n.jsx)(a.A,{}),"\n",(0,n.jsx)(s.h3,{id:"Stream",children:(0,n.jsx)(s.code,{children:"Stream"})}),"\n",(0,n.jsxs)(s.ul,{children:["\n",(0,n.jsxs)(s.li,{children:["Type: ",(0,n.jsx)(s.code,{children:"boolean"})," | {",(0,n.jsx)(s.code,{children:"simulation?: boolean | number | string"}),"}"]}),"\n"]}),"\n",(0,n.jsxs)(s.p,{children:["Used to stream responses from the target service. ",(0,n.jsx)("br",{}),"\nBy setting ",(0,n.jsx)(s.em,{children:"true"})," - the chat will stream incoming ",(0,n.jsx)(s.a,{href:"https://developer.mozilla.org/en-US/docs/Web/API/Server-sent_events/Using_server-sent_events",children:(0,n.jsx)(s.code,{children:"server-sent events"})})," from\nthe server. See ",(0,n.jsx)(s.a,{href:"https://deepchat.dev/examples/servers",children:(0,n.jsx)(s.code,{children:"example"})})," server code. ",(0,n.jsx)("br",{}),"\nThe responses are expected to contain partial text, however you can use ",(0,n.jsx)(s.a,{href:"#Response",children:(0,n.jsx)(s.code,{children:"overwrite"})})," to overwrite each one. ",(0,n.jsx)("br",{}),"\nYou can alternatively use the ",(0,n.jsx)(s.code,{children:"simulation"})," object property to facilitate a ",(0,n.jsx)("b",{children:"stream-like"})," experience for any other connection type where the received content wil be\ngradually populated in the message bubble. You can control the millisecond interim of each word's appearance by assigning it a number with the default being ",(0,n.jsx)(s.em,{children:"6"}),".\nA string value is used to act like an ",(0,n.jsx)(s.em,{children:"end-phrase"})," for individual websocket messages that act like a stream. ",(0,n.jsx)("br",{})]}),"\n",(0,n.jsx)(s.h4,{id:"stream-service-example",children:"Stream Service Example"}),"\n",(0,n.jsx)(r.A,{children:(0,n.jsx)(o.A,{style:{borderRadius:"8px"},connect:{stream:!0},demo:!0,introMessage:{text:"The response message bubble will be populated gradually with text events."}})}),"\n",(0,n.jsxs)(g.A,{children:[(0,n.jsx)(d.A,{value:"js",label:"Sample code",children:(0,n.jsx)(s.pre,{children:(0,n.jsx)(s.code,{className:"language-html",children:"\n"})})}),(0,n.jsx)(d.A,{value:"py",label:"Full code",children:(0,n.jsx)(s.pre,{children:(0,n.jsx)(s.code,{className:"language-html",children:'\x3c!-- This example is for Vanilla JS and should be tailored to your framework (see Examples) --\x3e\n\n\n'})})})]}),"\n",(0,n.jsx)(a.A,{}),"\n",(0,n.jsx)(s.h4,{id:"regular-service-example",children:"Regular Service Example"}),"\n",(0,n.jsx)(r.A,{children:(0,n.jsx)(o.A,{style:{borderRadius:"8px"},connect:{stream:{simulation:6}},demo:!0,introMessage:{text:"The response message bubble will be populated gradually with text events."}})}),"\n",(0,n.jsxs)(g.A,{children:[(0,n.jsx)(d.A,{value:"js",label:"Sample code",children:(0,n.jsx)(s.pre,{children:(0,n.jsx)(s.code,{className:"language-html",children:'\n'})})}),(0,n.jsx)(d.A,{value:"py",label:"Full code",children:(0,n.jsx)(s.pre,{children:(0,n.jsx)(s.code,{className:"language-html",children:'\x3c!-- This example is for Vanilla JS and should be tailored to your framework (see Examples) --\x3e\n\n\n'})})})]}),"\n",(0,n.jsx)(a.A,{}),"\n",(0,n.jsx)(s.admonition,{type:"note",children:(0,n.jsxs)(s.p,{children:[(0,n.jsx)(s.code,{children:"stream"})," can be used in ",(0,n.jsx)(s.a,{href:"connect",children:(0,n.jsx)(s.code,{children:"connect"})})," by itself when ",(0,n.jsx)(s.a,{href:"https://deepchat.dev/docs/demo",children:(0,n.jsx)(s.code,{children:"demo"})})," is defined."]})}),"\n",(0,n.jsx)(a.A,{}),"\n",(0,n.jsx)(s.h3,{id:"Handler",children:(0,n.jsx)(s.code,{children:"Handler"})}),"\n",(0,n.jsxs)(s.ul,{children:["\n",(0,n.jsxs)(s.li,{children:["Type: (",(0,n.jsx)(s.code,{children:"body: any"}),", ",(0,n.jsx)(s.a,{href:"#Signals",children:(0,n.jsx)(s.code,{children:"signals: Signals"})}),") => ",(0,n.jsx)(s.code,{children:"void"})]}),"\n"]}),"\n",(0,n.jsxs)(s.p,{children:["This function gives developers full control for making server requests using their own code. ",(0,n.jsx)("br",{})," It is invoked when the user\nattempts to send a message and consists of two core arguments: ",(0,n.jsx)("br",{}),"\n",(0,n.jsx)(s.code,{children:"body"})," is an object that contains the outgoing message details and uses the ",(0,n.jsx)(s.a,{href:"/docs/connect",children:(0,n.jsx)(s.code,{children:"Request message"})})," type. ",(0,n.jsx)("br",{}),"\n",(0,n.jsx)(s.code,{children:"signals"})," is a map of functions which are used to notify Deep Chat on the status of the request and its result. The available\nsignal functions differ based on the type of connection you are establishing. See examples below."]}),"\n",(0,n.jsxs)("a",{href:"https://youtu.be/orRVFA5AWfU",children:[(0,n.jsx)("img",{src:c.A,className:"youtube-icon"}),(0,n.jsx)(s.p,{children:"Video demo"})]}),"\n",(0,n.jsx)(s.h4,{id:"example-3",children:"Example"}),"\n",(0,n.jsx)(r.A,{children:(0,n.jsx)(o.A,{connect:{handler:(e,s)=>{s.onResponse({text:"Handler response"})}},style:{borderRadius:"8px"}})}),"\n",(0,n.jsxs)(g.A,{children:[(0,n.jsx)(d.A,{value:"js",label:"Basic",children:(0,n.jsx)(s.pre,{children:(0,n.jsx)(s.code,{className:"language-js",children:"chatElementRef.connect = {\n handler: (body, signals) => {\n try {\n fetch('custom-url).then((response) => {\n signals.onResponse({text: 'Handler response'}); // displays the response text message\n })\n } catch (e) {\n signals.onResponse({error: 'Error'}); // displays an error message\n }\n }\n};\n"})})}),(0,n.jsx)(d.A,{value:"py",label:"Stream",children:(0,n.jsx)(s.pre,{children:(0,n.jsx)(s.code,{className:"language-js",children:"chatElementRef.stream = true;\nchatElementRef.connect = {\n handler: (body, signals) => {\n try {\n // this is PSEUDO CODE for creating a stream\n fetchEventSource('custom-url', {\n async onopen(response) {\n if (response.ok) {\n signals.onOpen(); // stops the loading bubble\n } else {\n signals.onResponse({error: 'error'}); // displays an error message\n }\n },\n onmessage(message) {\n signals.onResponse({text: message}); // adds text into the message bubble\n },\n onerror(message) {\n signals.onResponse({error: message}); // displays an error message\n },\n onclose() {\n signals.onClose(); // The stop button will be changed back to submit button\n },\n });\n // triggered when the user clicks the stop button\n signals.stopClicked.listener = () => {\n // logic to stop your stream, such as creating an abortController\n };\n } catch (e) {\n signals.onResponse({error: 'error'}); // displays an error message\n }\n },\n};\n"})})}),(0,n.jsx)(d.A,{value:"ts",label:"Websocket",children:(0,n.jsx)(s.pre,{children:(0,n.jsx)(s.code,{className:"language-js",children:"// this handler is invoked when the component is loaded\nchatElementRef.connect = {\n websocket: true,\n handler: (_, signals) => {\n try {\n const websocket = new WebSocket('custom-url');\n websocket.onopen = () => {\n signals.onOpen(); // enables the user to send messages\n };\n websocket.onmessage = (message) => {\n const response = JSON.parse(message.data);\n signals.onResponse(response); // displays a text message from the server\n };\n websocket.onclose = () => {\n signals.onClose(); // stops the user from sending messages\n };\n websocket.onerror = () => {\n // 'Connection error' is a special string that will also display in Deep Chat\n signals.onResponse({error: 'Connection error'});\n };\n // triggered when the user sends a message\n signals.newUserMessage.listener = (body) => {\n websocket.send(JSON.stringify(body));\n };\n } catch (e) {\n signals.onResponse({error: 'error'}); // displays an error message\n signals.onClose(); // stops the user from sending messages\n }\n },\n};\n"})})})]}),"\n",(0,n.jsx)(s.admonition,{type:"info",children:(0,n.jsxs)(s.p,{children:["Error handling must be done within the ",(0,n.jsx)(s.code,{children:"handler"})," function."]})}),"\n",(0,n.jsx)(a.A,{}),"\n",(0,n.jsx)(s.h4,{id:"Signals",children:(0,n.jsx)(s.code,{children:"Signals"})}),"\n",(0,n.jsxs)(s.ul,{children:["\n",(0,n.jsxs)(s.li,{children:["Type: { ",(0,n.jsx)("br",{}),"\n\xa0\xa0\xa0\xa0",(0,n.jsx)(s.a,{href:"#Response",children:(0,n.jsx)(s.code,{children:"onResponse: (response: Response) => void"})}),", ",(0,n.jsx)("br",{}),"\n\xa0\xa0\xa0\xa0",(0,n.jsx)(s.code,{children:"onOpen: () => void"}),", ",(0,n.jsx)("br",{}),"\n\xa0\xa0\xa0\xa0",(0,n.jsx)(s.code,{children:"onClose: () => void"}),", ",(0,n.jsx)("br",{}),"\n\xa0\xa0\xa0\xa0",(0,n.jsx)(s.code,{children:"stopClicked: {listener: () => void}"}),", ",(0,n.jsx)("br",{}),"\n\xa0\xa0\xa0\xa0",(0,n.jsx)(s.code,{children:"newUserMessage: {listener: (body: any) => void}"})," ",(0,n.jsx)("br",{}),"\n}"]}),"\n"]}),"\n",(0,n.jsxs)(s.p,{children:["Object containing functions that are used to notify the Deep Chat component about the status of the current request.\nThe ",(0,n.jsx)(s.code,{children:"stopClicked"})," and ",(0,n.jsx)(s.code,{children:"newUserMessage"})," functions are triggered by Deep Chat itself and contain ",(0,n.jsx)(s.code,{children:"listener"})," properties\nwhich can be assigned with custom functions to listen for when they are called (see the examples above)."]})]})}function I(e={}){const{wrapper:s}={...(0,t.R)(),...e.components};return s?(0,n.jsx)(s,{...e,children:(0,n.jsx)(E,{...e})}):E(e)}},19365:(e,s,A)=>{A.d(s,{A:()=>o});A(96540);var n=A(34164);const t={tabItem:"tabItem_Ymn6"};var r=A(74848);function o(e){let{children:s,hidden:A,className:o}=e;return(0,r.jsx)("div",{role:"tabpanel",className:(0,n.A)(t.tabItem,o),hidden:A,children:s})}},11470:(e,s,A)=>{A.d(s,{A:()=>p});var n=A(96540),t=A(34164),r=A(23104),o=A(56347),a=A(205),i=A(57485),l=A(31682),c=A(70679);function d(e){return n.Children.toArray(e).filter((e=>"\n"!==e)).map((e=>{if(!e||(0,n.isValidElement)(e)&&function(e){const{props:s}=e;return!!s&&"object"==typeof s&&"value"in s}(e))return e;throw new Error(`Docusaurus error: Bad child <${"string"==typeof e.type?e.type:e.type.name}>: all children of the component should be , and every should have a unique "value" prop.`)}))?.filter(Boolean)??[]}function g(e){const{values:s,children:A}=e;return(0,n.useMemo)((()=>{const e=s??function(e){return d(e).map((e=>{let{props:{value:s,label:A,attributes:n,default:t}}=e;return{value:s,label:A,attributes:n,default:t}}))}(A);return function(e){const s=(0,l.X)(e,((e,s)=>e.value===s.value));if(s.length>0)throw new Error(`Docusaurus error: Duplicate values "${s.map((e=>e.value)).join(", ")}" found in . Every value needs to be unique.`)}(e),e}),[s,A])}function h(e){let{value:s,tabValues:A}=e;return A.some((e=>e.value===s))}function B(e){let{queryString:s=!1,groupId:A}=e;const t=(0,o.W6)(),r=function(e){let{queryString:s=!1,groupId:A}=e;if("string"==typeof s)return s;if(!1===s)return null;if(!0===s&&!A)throw new Error('Docusaurus error: The component groupId prop is required if queryString=true, because this value is used as the search param name. You can also provide an explicit value such as queryString="my-search-param".');return A??null}({queryString:s,groupId:A});return[(0,i.aZ)(r),(0,n.useCallback)((e=>{if(!r)return;const s=new URLSearchParams(t.location.search);s.set(r,e),t.replace({...t.location,search:s.toString()})}),[r,t])]}function u(e){const{defaultValue:s,queryString:A=!1,groupId:t}=e,r=g(e),[o,i]=(0,n.useState)((()=>function(e){let{defaultValue:s,tabValues:A}=e;if(0===A.length)throw new Error("Docusaurus error: the component requires at least one children component");if(s){if(!h({value:s,tabValues:A}))throw new Error(`Docusaurus error: The has a defaultValue "${s}" but none of its children has the corresponding value. Available values are: ${A.map((e=>e.value)).join(", ")}. If you intend to show no default tab, use defaultValue={null} instead.`);return s}const n=A.find((e=>e.default))??A[0];if(!n)throw new Error("Unexpected error: 0 tabValues");return n.value}({defaultValue:s,tabValues:r}))),[l,d]=B({queryString:A,groupId:t}),[u,C]=function(e){let{groupId:s}=e;const A=function(e){return e?`docusaurus.tab.${e}`:null}(s),[t,r]=(0,c.Dv)(A);return[t,(0,n.useCallback)((e=>{A&&r.set(e)}),[A,r])]}({groupId:t}),x=(()=>{const e=l??u;return h({value:e,tabValues:r})?e:null})();(0,a.A)((()=>{x&&i(x)}),[x]);return{selectedValue:o,selectValue:(0,n.useCallback)((e=>{if(!h({value:e,tabValues:r}))throw new Error(`Can't select invalid tab value=${e}`);i(e),d(e),C(e)}),[d,C,r]),tabValues:r}}var C=A(92303);const x={tabList:"tabList__CuJ",tabItem:"tabItem_LNqP"};var E=A(74848);function I(e){let{className:s,block:A,selectedValue:n,selectValue:o,tabValues:a}=e;const i=[],{blockElementScrollPositionUntilNextRender:l}=(0,r.a_)(),c=e=>{const s=e.currentTarget,A=i.indexOf(s),t=a[A].value;t!==n&&(l(s),o(t))},d=e=>{let s=null;switch(e.key){case"Enter":c(e);break;case"ArrowRight":{const A=i.indexOf(e.currentTarget)+1;s=i[A]??i[0];break}case"ArrowLeft":{const A=i.indexOf(e.currentTarget)-1;s=i[A]??i[i.length-1];break}}s?.focus()};return(0,E.jsx)("ul",{role:"tablist","aria-orientation":"horizontal",className:(0,t.A)("tabs",{"tabs--block":A},s),children:a.map((e=>{let{value:s,label:A,attributes:r}=e;return(0,E.jsx)("li",{role:"tab",tabIndex:n===s?0:-1,"aria-selected":n===s,ref:e=>i.push(e),onKeyDown:d,onClick:c,...r,className:(0,t.A)("tabs__item",x.tabItem,r?.className,{"tabs__item--active":n===s}),children:A??s},s)}))})}function Q(e){let{lazy:s,children:A,selectedValue:t}=e;const r=(Array.isArray(A)?A:[A]).filter(Boolean);if(s){const e=r.find((e=>e.props.value===t));return e?(0,n.cloneElement)(e,{className:"margin-top--md"}):null}return(0,E.jsx)("div",{className:"margin-top--md",children:r.map(((e,s)=>(0,n.cloneElement)(e,{key:s,hidden:e.props.value!==t})))})}function m(e){const s=u(e);return(0,E.jsxs)("div",{className:(0,t.A)("tabs-container",x.tabList),children:[(0,E.jsx)(I,{...s,...e}),(0,E.jsx)(Q,{...s,...e})]})}function p(e){const s=(0,C.A)();return(0,E.jsx)(m,{...e,children:d(e.children)},String(s))}},15781:(e,s,A)=>{A.d(s,{A:()=>t});A(96540);var n=A(74848);function t(){return(0,n.jsx)("div",{style:{height:"1px"}})}},61886:(e,s,A)=>{function n(e){window.scrollY>0?e.style.boxShadow="0 1px 2px 0 rgb(0 0 0 / 10%)":e.style.boxShadow="unset"}function t(){setTimeout((()=>{window.removeEventListener("scroll",window.toggleNavOnScroll);const e=document.getElementsByClassName("navbar--fixed-top");if(e[0]){const s=e[0];n(s),window.toggleNavOnScroll=n.bind(this,s),window.addEventListener("scroll",window.toggleNavOnScroll)}}),2)}function r(){setTimeout((()=>{const e=document.querySelectorAll(".homepage > body > #__docusaurus > nav")?.[0];try{e.classList.add("fade-in")}catch(s){console.error(s),console.log("element was not rendered in time - use MutationObserver")}}),2)}A.r(s),A.d(s,{fadeIn:()=>r,readdAutoNavShadowToggle:()=>t})},24033:(e,s,A)=>{A.d(s,{A:()=>r,q:()=>t});A(96540);var n=A(74848);function t(e){return e?.children[0]?.children[0]}function r(e){let{children:s,minHeight:A,innerDisplay:t}=e;return(0,n.jsx)("div",{className:"documentation-example-container",style:{minHeight:`${A||400}px`},children:(0,n.jsx)("div",{style:{display:t||"block"},children:s})})}},50363:(e,s,A)=>{A.d(s,{A:()=>r});var n=A(78478),t=(A(96540),A(74848));function r(e){return(0,t.jsx)(n.A,{children:()=>{const s=A(78152).DeepChat;return(0,t.jsx)(s,{...e,children:e.children})}})}},76761:(e,s,A)=>{A.d(s,{A:()=>n});const n="data:image/png;base64,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USppHAQIECBAoEBAACjAcigBAgQIEIgiIABEqaRxECBAgACBAgEBoADLoQQIECBAIIqAABClksZBgAABAgQKBASAAiyHEiBAgACBKAICQJRKGgcBAgQIECgQEAAKsBxKgAABAgSiCAgAUSppHAQIECBAoEBAACjAcigBAgQIEIgiIABEqaRxECBAgACBAgEBoADLoQQIECBAIIqAABClksZBgAABAgQKBASAAiyHEiBAgACBKAICQJRKGgcBAgQIECgQEAAKsBxKgAABAgSiCAgAUSppHAQIECBAoEBAACjAcigBAgQIEIgiIABEqaRxECBAgACBAgEBoADLoQQIECBAIIqAABClksZBgAABAgQKBASAAiyHEiBAgACBKAICQJRKGgcBAgQIECgQEAAKsBxKgAABAgSiCAgAUSppHAQIECBAoEBAACjAcigBAgQIEIgiIABEqaRxECBAgACBAgEBoADLoQQIECBAIIqAABClksZBgAABAgQKBASAAiyHEiBAgACBKAICQJRKGgcBAgQIECgQEAAKsBxKgAABAgSiCAgAUSppHAQIECBAoEBAACjAcigBAgQIEIgiIABEqaRxECBAgACBAgEBoADLoQQIECBAIIqAABClksZBgAABAgQKBASAAiyHEiBAgACBKAICQJRKGgcBAgQIECgQEAAKsBxKgAABAgSiCAgAUSppHAQIECBAoEBAACjAcigBAgQIEIgiIABEqaRxECBAgACBAgEBoADLoQQIECBAIIqAABClksZBgAABAgQKBASAAiyHEiBAgACBKAICQJRKGgcBAgQIECgQEAAKsBxKgAABAgSiCAgAUSppHAQIECBAoEBAACjAcigBAgQIEIgiIABEqaRxECBAgACBAgEBoADLoQQIECBAIIqAABClksZBgAABAgQKBASAAiyHEiBAgACBKAICQJRKGgcBAgQIECgQEAAKsBxKgAABAgSiCAgAUSppHAQIECBAoEDg/+CJDty7udX6AAAAAElFTkSuQmCC"},28453:(e,s,A)=>{A.d(s,{R:()=>o,x:()=>a});var n=A(96540);const t={},r=n.createContext(t);function o(e){const s=n.useContext(r);return n.useMemo((function(){return"function"==typeof e?e(s):{...s,...e}}),[s,e])}function a(e){let s;return s=e.disableParentContext?"function"==typeof e.components?e.components(t):e.components||t:o(e.components),n.createElement(r.Provider,{value:s},e.children)}}}]);
\ No newline at end of file
diff --git a/assets/js/15033d09.ba9708f5.js b/assets/js/15033d09.ba9708f5.js
new file mode 100644
index 000000000..6bcb1d199
--- /dev/null
+++ b/assets/js/15033d09.ba9708f5.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([[1738],{68695:(e,s,A)=>{A.r(s),A.d(s,{assets:()=>C,contentTitle:()=>B,default:()=>I,frontMatter:()=>h,metadata:()=>u,toc:()=>x});var n=A(74848),t=A(28453),r=A(24033),o=A(50363),a=A(15781);const i=A.p+"assets/images/update-websocket-message-8fd40ee660162130c707deba122a4fba.gif";var l=A(78478),c=A(76761),d=A(19365),g=A(11470);const h={sidebar_position:2},B="Connect",u={id:"docs/connect",title:"Connect",description:"How to connect to an API",source:"@site/docs/docs/connect.mdx",sourceDirName:"docs",slug:"/docs/connect",permalink:"/docs/connect",draft:!1,unlisted:!1,editUrl:"https://github.com/OvidijusParsiunas/deep-chat/tree/main/website/docs/docs/connect.mdx",tags:[],version:"current",sidebarPosition:2,frontMatter:{sidebar_position:2},sidebar:"docs",previous:{title:"Installation",permalink:"/docs/installation"},next:{title:"Direct Connection",permalink:"/docs/directConnection/"}},C={},x=[{value:"connect",id:"connect-1",level:3},{value:"Example",id:"example",level:4},{value:"requestBodyLimits",id:"requestBodyLimits",level:3},{value:"Example",id:"example-1",level:4},{value:"Types",id:"types",level:2},{value:"Response",id:"Response",level:3},{value:"Examples:",id:"examples",level:4},{value:"Websocket",id:"Websocket",level:3},{value:"Example",id:"example-2",level:4},{value:"Status Bubble Example",id:"status-bubble-example",level:4},{value:"Stream",id:"Stream",level:3},{value:"Stream Service Example",id:"stream-service-example",level:4},{value:"Regular Service Example",id:"regular-service-example",level:4},{value:"Handler",id:"Handler",level:3},{value:"Example",id:"example-3",level:4},{value:"Signals",id:"Signals",level:4}];function E(e){const s={a:"a",admonition:"admonition",code:"code",em:"em",h1:"h1",h2:"h2",h3:"h3",h4:"h4",header:"header",li:"li",p:"p",pre:"pre",strong:"strong",ul:"ul",...(0,t.R)(),...e.components};return(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(s.header,{children:(0,n.jsx)(s.h1,{id:"connect",children:"Connect"})}),"\n",(0,n.jsx)("h2",{children:"How to connect to an API"}),"\n",(0,n.jsxs)(s.p,{children:["You can connect to any API by defining their details inside the ",(0,n.jsx)(s.a,{href:"/docs/connect#connect-1",children:(0,n.jsx)(s.code,{children:"connect"})})," property. The target endpoint will need to be able to accept\nand respond using the formats described below."]}),"\n",(0,n.jsxs)("a",{href:"https://youtu.be/NuRhPeqDCus",children:[(0,n.jsx)("img",{src:c.A,className:"youtube-icon"}),(0,n.jsx)(s.p,{children:"Video demo"})]}),"\n",(0,n.jsx)("h3",{children:"Request message"}),"\n",(0,n.jsx)(s.p,{children:"The outgoing Deep Chat request body is encapsulated in one of the following formats:"}),"\n",(0,n.jsxs)(s.ul,{children:["\n",(0,n.jsxs)(s.li,{children:["\n",(0,n.jsxs)(s.p,{children:["When sending ",(0,n.jsx)(s.strong,{children:"text"})," based messages only, the request body will have the following JSON type: ",(0,n.jsx)("br",{}),"\n{",(0,n.jsx)(s.a,{href:"/docs/messages/#MessageContent",children:(0,n.jsx)(s.code,{children:"messages: MessageContent[]"})}),"} ",(0,n.jsx)("br",{})]}),"\n"]}),"\n",(0,n.jsxs)(s.li,{children:["\n",(0,n.jsxs)(s.p,{children:["When sending messages that contain ",(0,n.jsx)(s.strong,{children:"files"}),", the request body is going to be serialized inside a ",(0,n.jsx)(s.a,{href:"https://developer.mozilla.org/en-US/docs/Web/API/FormData",children:"FormData"})," type\nwhere files are set inside an array property called ",(0,n.jsx)(s.em,{children:'"files"'})," and each text message is stored inside a ",(0,n.jsx)(s.em,{children:'"message{index}"'})," property with a corresponding index: ",(0,n.jsx)("br",{}),"\n{",(0,n.jsx)(s.code,{children:"files: File[]"}),", ",(0,n.jsx)(s.a,{href:"/docs/messages/#MessageContent",children:(0,n.jsx)(s.code,{children:"message1: MessageContent"})}),", ",(0,n.jsx)(s.a,{href:"/docs/messages/#MessageContent",children:(0,n.jsx)(s.code,{children:"message2: MessageContent"})}),"... } ",(0,n.jsx)("br",{})]}),"\n"]}),"\n"]}),"\n",(0,n.jsx)("h3",{children:"Response message"}),"\n",(0,n.jsxs)(s.p,{children:["Response from the target server needs to use the ",(0,n.jsx)(s.a,{href:"#Response",children:(0,n.jsx)(s.code,{children:"Response"})})," JSON type."]}),"\n",(0,n.jsx)(s.admonition,{type:"tip",children:(0,n.jsxs)(s.p,{children:["If you don't want / can't change the target server to handle the required object types, use the ",(0,n.jsx)(s.a,{href:"/docs/interceptors",children:(0,n.jsx)(s.code,{children:"interceptor"})})," properties\nto augment the transferred objects or the ",(0,n.jsx)(s.a,{href:"#Handler",children:(0,n.jsx)(s.code,{children:"handler"})})," function to control the request code."]})}),"\n",(0,n.jsx)("h2",{children:"Connection properties"}),"\n","\n",(0,n.jsx)(l.A,{children:()=>A(61886).readdAutoNavShadowToggle()}),"\n",(0,n.jsx)(s.h3,{id:"connect-1",children:(0,n.jsx)(s.code,{children:"connect"})}),"\n",(0,n.jsxs)(s.ul,{children:["\n",(0,n.jsxs)(s.li,{children:["\n",(0,n.jsxs)(s.p,{children:["Type: {",(0,n.jsx)("br",{}),"\n\xa0\xa0\xa0\xa0 ",(0,n.jsx)(s.code,{children:"url?: string"}),", ",(0,n.jsx)("br",{}),"\n\xa0\xa0\xa0\xa0 ",(0,n.jsx)(s.code,{children:"method?: string"}),", ",(0,n.jsx)("br",{}),"\n\xa0\xa0\xa0\xa0 ",(0,n.jsx)(s.code,{children:"headers?: {[string]: string}"}),", ",(0,n.jsx)("br",{}),"\n\xa0\xa0\xa0\xa0 ",(0,n.jsx)(s.code,{children:"additionalBodyProps?: {[string]: any}"}),", ",(0,n.jsx)("br",{}),"\n\xa0\xa0\xa0\xa0 ",(0,n.jsx)(s.a,{href:"https://developer.mozilla.org/en-US/docs/Web/API/Request/credentials",children:(0,n.jsx)(s.code,{children:"credentials?: string"})}),", ",(0,n.jsx)("br",{}),"\n\xa0\xa0\xa0\xa0 ",(0,n.jsx)(s.a,{href:"#Websocket",children:(0,n.jsx)(s.code,{children:"websocket?: Websocket"})}),", ",(0,n.jsx)("br",{}),"\n\xa0\xa0\xa0\xa0 ",(0,n.jsx)(s.a,{href:"#Stream",children:(0,n.jsx)(s.code,{children:"stream?: Stream"})}),", ",(0,n.jsx)("br",{}),"\n\xa0\xa0\xa0\xa0 ",(0,n.jsx)(s.a,{href:"#Handler",children:(0,n.jsx)(s.code,{children:"handler?: Handler"})})," ",(0,n.jsx)("br",{}),"\n}"]}),"\n"]}),"\n",(0,n.jsxs)(s.li,{children:["\n",(0,n.jsxs)(s.p,{children:["Default: ",(0,n.jsx)(s.em,{children:'{ method: "POST", credentials: "same-origin" }'})]}),"\n"]}),"\n"]}),"\n",(0,n.jsxs)(s.p,{children:["Settings for the outgoing API requests. This object MUST have ",(0,n.jsx)(s.code,{children:"url"})," or ",(0,n.jsx)(s.code,{children:"handler"})," property defined. ",(0,n.jsx)("br",{}),"\n",(0,n.jsx)(s.code,{children:"additionalBodyProps"})," is used to add additional key value properties to the outgoing message body. ",(0,n.jsx)("br",{}),"\n",(0,n.jsx)(s.code,{children:"credentials"})," is used to configure whether the outgoing request should contain cookies. ",(0,n.jsx)(s.a,{href:"https://developer.mozilla.org/en-US/docs/Web/API/Request/credentials",children:"More info"}),". ",(0,n.jsx)("br",{}),"\n",(0,n.jsx)(s.code,{children:"websocket"})," is used to establish a websocket connection instead of sending REST requests."]}),"\n",(0,n.jsxs)("a",{href:"https://youtu.be/NuRhPeqDCus?si=B98OGweTBwiMnMzb&t=40",children:[(0,n.jsx)("img",{src:c.A,className:"youtube-icon"}),(0,n.jsx)(s.p,{children:"Video demo"})]}),"\n",(0,n.jsx)(s.h4,{id:"example",children:"Example"}),"\n",(0,n.jsx)(r.A,{children:(0,n.jsx)(o.A,{style:{borderRadius:"8px"},connect:{url:"https://customapi.com/message",method:"POST",headers:{customName:"customHeaderValue"},additionalBodyProps:{customBodyField:"customBodyValue"}}})}),"\n",(0,n.jsxs)(g.A,{children:[(0,n.jsx)(d.A,{value:"js",label:"Sample code",children:(0,n.jsx)(s.pre,{children:(0,n.jsx)(s.code,{className:"language-html",children:'\n'})})}),(0,n.jsx)(d.A,{value:"py",label:"Full code",children:(0,n.jsx)(s.pre,{children:(0,n.jsx)(s.code,{className:"language-html",children:'\x3c!-- This example is for Vanilla JS and should be tailored to your framework (see Examples) --\x3e\n\n\n'})})})]}),"\n",(0,n.jsx)(a.A,{}),"\n",(0,n.jsx)(s.h3,{id:"requestBodyLimits",children:(0,n.jsx)(s.code,{children:"requestBodyLimits"})}),"\n",(0,n.jsxs)(s.ul,{children:["\n",(0,n.jsxs)(s.li,{children:["Type: {",(0,n.jsx)(s.code,{children:"maxMessages?: number"}),", ",(0,n.jsx)(s.code,{children:"totalMessagesMaxCharLength?: number"}),"}"]}),"\n"]}),"\n",(0,n.jsxs)(s.p,{children:["Used to limit the content that is going to be included in the outgoing requests. ",(0,n.jsx)("br",{}),"\n",(0,n.jsx)(s.code,{children:"maxMessages"})," is the maximum number of messages counting from the most recent one. If this is set to a number higher than ",(0,n.jsx)(s.em,{children:"0"})," such as ",(0,n.jsx)(s.em,{children:"1"})," - the outgoing request will only include the new user message,\nif it is ",(0,n.jsx)(s.em,{children:"2"})," - it will also include the message before the latest one (from AI or the user) and so on... If the number is ",(0,n.jsx)(s.em,{children:"0"})," or below - the request will include all messages in the chat. If\nit is ",(0,n.jsx)(s.em,{children:"undefined"}),", the request will only include the input text/files. ",(0,n.jsx)("br",{}),"\n",(0,n.jsx)(s.code,{children:"totalMessagesMaxCharLength"})," is the total maximum number of text characters sent in the request counting from the most recent message. ",(0,n.jsx)("br",{}),"\nThese limits do not include the ",(0,n.jsx)(s.a,{href:"/docs/messages#introMessage",children:(0,n.jsx)(s.code,{children:"introMessage"})}),"."]}),"\n",(0,n.jsx)(s.h4,{id:"example-1",children:"Example"}),"\n",(0,n.jsx)(r.A,{children:(0,n.jsx)(o.A,{style:{borderRadius:"8px"},introMessage:{text:"Observe the data that is going to be sent below."},requestBodyLimits:{totalMessagesMaxCharLength:20,maxMessages:2},demo:!0})}),"\n",(0,n.jsxs)(g.A,{children:[(0,n.jsx)(d.A,{value:"js",label:"Sample code",children:(0,n.jsx)(s.pre,{children:(0,n.jsx)(s.code,{className:"language-html",children:'\n'})})}),(0,n.jsx)(d.A,{value:"py",label:"Full code",children:(0,n.jsx)(s.pre,{children:(0,n.jsx)(s.code,{className:"language-html",children:'\x3c!-- This example is for Vanilla JS and should be tailored to your framework (see Examples) --\x3e\n\n\n'})})})]}),"\n",(0,n.jsx)(a.A,{}),"\n",(0,n.jsx)(s.h2,{id:"types",children:"Types"}),"\n",(0,n.jsx)(s.p,{children:"Types shared with other component properties:"}),"\n",(0,n.jsx)(s.h3,{id:"Response",children:(0,n.jsx)(s.code,{children:"Response"})}),"\n",(0,n.jsxs)(s.ul,{children:["\n",(0,n.jsxs)(s.li,{children:["Type: {",(0,n.jsx)(s.a,{href:"/docs/messages/#MessageContent",children:(0,n.jsx)(s.code,{children:"MessageContent"})}),", ",(0,n.jsx)(s.code,{children:"error?: string"}),", ",(0,n.jsx)(s.code,{children:"overwrite?: boolean"}),"}"]}),"\n"]}),"\n",(0,n.jsxs)(s.p,{children:["Object containing response information from the target service. It has the same properties as ",(0,n.jsx)(s.a,{href:"/docs/messages/#MessageContent",children:(0,n.jsx)(s.code,{children:"MessageContent"})})," with additional optional ",(0,n.jsx)(s.code,{children:"error"})," and\n",(0,n.jsx)(s.code,{children:"overwrite"})," properties: ",(0,n.jsx)("br",{}),"\n",(0,n.jsx)(s.code,{children:"text"})," is the content for a text message. ",(0,n.jsx)("br",{}),"\n",(0,n.jsx)(s.code,{children:"files"})," is an array that encapsulates details on the response files. ",(0,n.jsx)("br",{}),"\n",(0,n.jsx)(s.code,{children:"html"})," is a string that defines the markup for ",(0,n.jsx)(s.a,{href:"/docs/messages/HTML",children:"custom elements"}),". It must describe full elements. ",(0,n.jsx)("br",{}),"\n",(0,n.jsx)(s.code,{children:"error"})," describes information about a server error. If the ",(0,n.jsx)(s.em,{children:"displayServiceErrorMessages"})," property in ",(0,n.jsx)(s.a,{href:"/docs/messages#errorMessages",children:(0,n.jsx)(s.code,{children:"errorMessages"})}),"\nis set to ",(0,n.jsx)(s.em,{children:"true"}),", the same message will be displayed in the chat's error bubble. ",(0,n.jsx)("br",{}),"\n",(0,n.jsx)(s.code,{children:"overwrite"})," replaces last message from the same role or creates a new one if not found. ",(0,n.jsx)(s.a,{href:"#status-bubble-example",children:"Status bubble"})," example. ",(0,n.jsx)("br",{})]}),"\n",(0,n.jsx)(s.h4,{id:"examples",children:"Examples:"}),"\n",(0,n.jsxs)(s.p,{children:["Simple - ",(0,n.jsx)(s.code,{children:'{text: "Simple response"}'})," ",(0,n.jsx)("br",{}),"\nMixed - ",(0,n.jsx)(s.code,{children:'{files: [{name: "file.txt"}], html: "
You can connect to any API by defining their details inside the connect property. The target endpoint will need to be able to accept
and respond using the formats described below.
@@ -36,13 +36,13 @@
Request message
Response message
-
Response from the target server needs to use the Response JSON type.
+
Response from the target server needs to use the Response JSON type.
tip
If you don't want / can't change the target server to handle the required object types, use the interceptor properties
-to augment the transferred objects or the handler function to control the request code.
+to augment the transferred objects or the handler function to control the request code.
connectcredentials is used to configure whether the outgoing request should contain cookies. More info. websocket is used to establish a websocket connection instead of sending REST requests.
<!-- This example is for Vanilla JS and should be tailored to your framework (see Examples) --> <deep-chat connect='{ "url": "https://customapi.com/message", "method": "POST", "headers": {"customName": "customHeaderValue"}, "additionalBodyProps": {"customBodyField": "customBodyValue"} }' style="border-radius:8px" ></deep-chat>
requ
it is undefined, the request will only include the input text/files. totalMessagesMaxCharLength is the total maximum number of text characters sent in the request counting from the most recent message.
These limits do not include the introMessage.
-
<!-- This example is for Vanilla JS and should be tailored to your framework (see Examples) --> <deep-chat requestBodyLimits='{ "totalMessagesMaxCharLength": 20, "maxMessages": 2 }' style="border-radius:8px" demo="true" introMessage='{"text": Observe the data that is going to be sent below."}' ></deep-chat>
Responsehtml is a string that defines the markup for custom elements. It must describe full elements. error describes information about a server error. If the displayServiceErrorMessages property in errorMessages
is set to true, the same message will be displayed in the chat's error bubble.
-overwrite replaces last message from the same role or creates a new one if not found. Status bubble example.
-
This is used to establish a websocket connection with your server. Enable it by defining the websocket property inside the connect object
+
This is used to establish a websocket connection with your server. Enable it by defining the websocket property inside the connect object
as a booleantrue or as a string connection protocol
(or an array of strings for multiple protocols).
It is important to note that exchanged messages must be Stringified JSONs where Deep Chat will send its messages using the Request message format
-and the server must send its messages using the Response format. Example messages:
+and the server must send its messages using the Response format. Example messages:
Deep Chat message: '{"messages":[{"role":"user","text":"Message from Deep Chat"}]}'
Server message: '{"text":"Message from the server"}'
<!-- This example is for Vanilla JS and should be tailored to your framework (see Examples) --> <deep-chat connect='{"url": "ws://customapi.com", "websocket": true}' style="border-radius:8px" introMessage='{"text": Chat will attempt to establish a websocket connection as soon as the component loads up."}' ></deep-chat>
Type: boolean | {simulation?: boolean | number | string}
Used to stream responses from the target service.
By setting true - the chat will stream incoming server-sent events from
the server. See example server code.
-The responses are expected to contain partial text, however you can use overwrite to overwrite each one.
+The responses are expected to contain partial text, however you can use overwrite to overwrite each one.
You can alternatively use the simulation object property to facilitate a stream-like experience for any other connection type where the received content wil be
gradually populated in the message bubble. You can control the millisecond interim of each word's appearance by assigning it a number with the default being 6.
A string value is used to act like an end-phrase for individual websocket messages that act like a stream.
<!-- This example is for Vanilla JS and should be tailored to your framework (see Examples) --> <deep-chat connect='{"stream": true}' demo="true" style="border-radius:8px" introMessage='{"text": The response message bubble will be populated gradually with text events."}' ></deep-chat>
<!-- This example is for Vanilla JS and should be tailored to your framework (see Examples) --> <deep-chat connect='{"stream": {"simulation": 6}}' demo="true" style="border-radius:8px" introMessage='{"text": The response message bubble will be populated gradually with text events."}' ></deep-chat>
note
stream can be used in connect by itself when demo is defined.
This function gives developers full control for making server requests using their own code. It is invoked when the user
attempts to send a message and consists of two core arguments:
@@ -158,15 +158,15 @@
Handlersignals is a map of functions which are used to notify Deep Chat on the status of the request and its result. The available
signal functions differ based on the type of connection you are establishing. See examples below.
chatElementRef.connect={ handler:(body, signals)=>{ try{ fetch('custom-url).then((response)=>{ signals.onResponse({text:'Handler response'});// displays the response text message }) }catch(e){ signals.onResponse({error:'Error'});// displays an error message } } };
chatElementRef.stream=true; chatElementRef.connect={ handler:(body, signals)=>{ try{ // this is PSEUDO CODE for creating a stream fetchEventSource('custom-url',{ asynconopen(response){ if(response.ok){ signals.onOpen();// stops the loading bubble }else{ signals.onResponse({error:'error'});// displays an error message } }, onmessage(message){ signals.onResponse({text: message});// adds text into the message bubble }, onerror(message){ signals.onResponse({error: message});// displays an error message }, onclose(){ signals.onClose();// The stop button will be changed back to submit button }, }); // triggered when the user clicks the stop button signals.stopClicked.listener=()=>{ // logic to stop your stream, such as creating an abortController }; }catch(e){ signals.onResponse({error:'error'});// displays an error message } }, };
// this handler is invoked when the component is loaded chatElementRef.connect={ websocket:true, handler:(_, signals)=>{ try{ const websocket =newWebSocket('custom-url'); websocket.onopen=()=>{ signals.onOpen();// enables the user to send messages }; websocket.onmessage=(message)=>{ const response =JSON.parse(message.data); signals.onResponse(response);// displays a text message from the server }; websocket.onclose=()=>{ signals.onClose();// stops the user from sending messages }; websocket.onerror=()=>{ // 'Connection error' is a special string that will also display in Deep Chat signals.onResponse({error:'Connection error'}); }; // triggered when the user sends a message signals.newUserMessage.listener=(body)=>{ websocket.send(JSON.stringify(body)); }; }catch(e){ signals.onResponse({error:'error'});// displays an error message signals.onClose();// stops the user from sending messages } }, };
info
Error handling must be done within the handler function.
Object containing functions that are used to notify the Deep Chat component about the status of the current request.
The stopClicked and newUserMessage functions are triggered by Deep Chat itself and contain listener properties
-which can be assigned with custom functions to listen for when they are called (see the examples above).
<!-- This example is for Vanilla JS and should be tailored to your framework (see Examples) --> <deep-chatdemo="true"style="border-radius:8px"></deep-chat>
<!-- This example is for Vanilla JS and should be tailored to your framework (see Examples) --> <deep-chat demo='{ "displayLoadingBubble": true, "displayFileAttachmentContainer": true, "displayErrors": {"service": true} }' style="border-radius:8px" ></deep-chat>
<!-- This example is for Vanilla JS and should be tailored to your framework (see Examples) --> <deep-chat directConnection='{ "assemblyAI": { "key": "placeholder key", "audio": true } }' style="border-radius:8px" ></deep-chat>
TextToSpe
name is the name of the voice used for the audio output. See here for available options. gender is the gender of the audio output voice. E.g. "Female" or "Male". outputFormat is the output audio format. See here for available options.
-
<!-- This example is for Vanilla JS and should be tailored to your framework (see Examples) --> <deep-chat directConnection='{ "azure": { "key": "placeholder key", "textToSpeech": {"region": "eastus"} } }' style="border-radius:8px" ></deep-chat>
Connect to Azure's speech to text API. region is a required string property to denote the region of your speech service, e.g. "eastus". lang is the locale (BCP-47) string code for the language of the input output. See here for available options.
<!-- This example is for Vanilla JS and should be tailored to your framework (see Examples) --> <deep-chat directConnection='{ "azure": { "key": "placeholder key", "speechToText": {"region": "eastus"} } }' style="border-radius:8px" ></deep-chat>
Connect to Azure's summarization API. Please read here how to generate a language service. endpoint is the full endpoint for your generated language service. language is a BCP 47 language tag for the language of your text.
<!-- This example is for Vanilla JS and should be tailored to your framework (see Examples) --> <deep-chat directConnection='{ "azure": { "key": "placeholder key", "summarization": {"endpoint": "https://placeholderresource.cognitiveservices.azure.com"} } }' style="border-radius:8px" ></deep-chat>
Connect to Azure's translation API. region is the region of your translator resource. This is optional if your resource is global. language is the BCP 47 language tag for the language you are translating to from English.
<!-- This example is for Vanilla JS and should be tailored to your framework (see Examples) --> <deep-chat directConnection='{ "azure": { "key": "placeholder key", "translation": {"region": "eastus", "language": "ja"} } }' style="border-radius:8px" ></deep-chat>
<!-- This example is for Vanilla JS and should be tailored to your framework (see Examples) --> <deep-chat directConnection='{ "cohere": { "key": "placeholder key", "chat": {"temperature": 1} } }' style="border-radius:8px" ></deep-chat>
TextGen
logit_bias is used to prevent the model from generating unwanted tokens or to incentivize it to include desired ibes. The format is {token_id: bias} where bias is a float between -10 and 10. Tokens can be obtained from text using Tokenize. E.g. if the value {"11": -10} is provided, the model will be very unlikely to include the token 11 ("\n", the newline character) anywhere in the generated text. In contrast {"11": 10} will result in generations that nearly only contain that token. truncate is used to specify how the API will handle inputs longer than the maximum token length. Passing "START" will discard the start of the input. "END" will discard the end of the input. "NONE" will throw an error when the input exceeds the maximum input token length. preset is a combination of parameters, such as prompt, temperature etc. Create presets in the Cohere Playground.
-
<!-- This example is for Vanilla JS and should be tailored to your framework (see Examples) --> <deep-chat directConnection='{ "cohere": { "key": "placeholder key", "textGeneration": {"model": "command"} } }' style="border-radius:8px" ></deep-chat>
Summariz
extractiveness controls how close to the original text the summary is. "high" extractiveness summaries will lean towards reusing sentences verbatim, while "low" extractiveness summaries will tend to paraphrase more. temperature (from 0 to 5) controls the randomness of the output. Lower values tend to generate more predictable outputs, while higher values tend to generate more creative outputs. The sweet spot is typically between 0 and 1. additional_command is a free-form instruction for modifying how the summaries get generated. Should start with "Generate a summary _". and end with Eg. "focusing on the next steps" or "written by Yoda".
-
<!-- This example is for Vanilla JS and should be tailored to your framework (see Examples) --> <deep-chat directConnection='{ "cohere": { "key": "placeholder key", "summarization": {"model": "summarize-xlarge"} } }' style="border-radius:8px" ></deep-chat>
Conversat
temperature is a float (ranging from 0.0 to 100.0) temperature of the sampling operation. 1 means regular sampling, 0 means always take the highest score, 100.0 is getting closer to uniform probability. repetition_penalty is a float (ranging from 0.0 to 100.0) that controls where a token is used more within generation the more it is penalized to not be picked in successive generation passes. use_cache is used to speed up requests by using the inference API cache.
-
<!-- This example is for Vanilla JS and should be tailored to your framework (see Examples) --> <deep-chat directConnection='{ "huggingFace": { "key": "placeholder key", "conversation": {"model": "facebook/blenderbot-400M-distill", "parameters": {"temperature": 1}} } }' style="border-radius:8px" ></deep-chat>
TextGen
max_new_tokens is an integer (ranging from 0 to 250) amount of new tokens to be generated by the response. do_sample controls whether or not to use sampling. If false it uses greedy decoding sampling. use_cache is used to speed up requests by using the inference API cache.
-
<!-- This example is for Vanilla JS and should be tailored to your framework (see Examples) --> <deep-chat directConnection='{ "huggingFace": { "key": "placeholder key", "textGeneration": {"model": "gpt2", "parameters": {"temperature": 1}} } }' style="border-radius:8px" ></deep-chat>
Summariz
temperature is a float (ranging from 0.0 to 100.0) temperature of the sampling operation. 1 means regular sampling, 0 means always take the highest score, 100.0 is getting closer to uniform probability. repetition_penalty is a float (ranging from 0.0 to 100.0) that controls where a token is used more within generation the more it is penalized to not be picked in successive generation passes. use_cache is used to speed up requests by using the inference API cache.
-
<!-- This example is for Vanilla JS and should be tailored to your framework (see Examples) --> <deep-chat directConnection='{ "huggingFace": { "key": "placeholder key", "summarization": {"model": "facebook/bart-large-cnn", "parameters": {"temperature": 1}} } }' style="border-radius:8px" ></deep-chat>
Connect to Hugging Face Translation API. model is the name of the model used for the task. use_cache is used to speed up requests by using the inference API cache.
<!-- This example is for Vanilla JS and should be tailored to your framework (see Examples) --> <deep-chat directConnection='{ "huggingFace": { "key": "placeholder key", "translation": {"model": "Helsinki-NLP/opus-tatoeba-en-ja"} } }' style="border-radius:8px" ></deep-chat>
FillMaskConnect to Hugging Face Fill Mask API. model is the name of the model used for the task. use_cache is used to speed up requests by using the inference API cache.
-
<!-- This example is for Vanilla JS and should be tailored to your framework (see Examples) --> <deep-chat directConnection='{ "huggingFace": { "key": "placeholder key", "fillMask": {"model": "bert-base-uncased"} } }' style="border-radius:8px" ></deep-chat>
Connect to Hugging Face Question Answer API. context is a string containing details that AI can use to answer the given questions. model is the name of the model used for the task.
<deep-chat directConnection='{ "huggingFace": { "key": "placeholder key", "questionAnswer": { "model": "bert-large-uncased-whole-word-masking-finetuned-squad", "context": "Labrador retrievers are easily recognized by their broad head, drop ears and large, expressive eyes. Two trademarks of the Lab are the thick but fairly short double coat, which is very water repellent, and the well known otter tail. The tail is thick and sturdy and comes off the topline almost straight." } } }' ></deep-chat>
<!-- This example is for Vanilla JS and should be tailored to your framework (see Examples) --> <deep-chat directConnection='{ "huggingFace": { "key": "placeholder key", "questionAnswer": { "model": "bert-large-uncased-whole-word-masking-finetuned-squad", "context": "Labrador retrievers are easily recognized by their broad head, drop ears and large, expressive eyes. Two trademarks of the Lab are the thick but fairly short double coat, which is very water repellent, and the well known otter tail. The tail is thick and sturdy and comes off the topline almost straight." } } }' style="border-radius:8px" ></deep-chat>
<!-- This example is for Vanilla JS and should be tailored to your framework (see Examples) --> <deep-chat directConnection='{ "huggingFace": { "key": "placeholder key", "huggingFace": {"model": "facebook/wav2vec2-large-960h-lv60-self"} } }' style="border-radius:8px" ></deep-chat>
<!-- This example is for Vanilla JS and should be tailored to your framework (see Examples) --> <deep-chat directConnection='{ "huggingFace": { "key": "placeholder key", "audioSpeechRecognition": {"model": "ehcalabres/wav2vec2-lg-xlsr-en-speech-emotion-recognition"} } }' style="border-radius:8px" ></deep-chat>
<!-- This example is for Vanilla JS and should be tailored to your framework (see Examples) --> <deep-chat directConnection='{ "huggingFace": { "key": "placeholder key", "imageClassification": {"model": "google/vit-base-patch16-224"} } }' style="border-radius:8px" ></deep-chat>
<deep-chat directConnection='{ "openAI": { "key": "placeholder key", "chat": {"max_tokens": 2000, "system_prompt": "Assist me with anything you can"} } }' ></deep-chat>
<!-- This example is for Vanilla JS and should be tailored to your framework (see Examples) --> <deep-chat directConnection='{ "openAI": { "key": "placeholder key", "chat": {"max_tokens": 2000, "system_prompt": "Assist me with anything you can"} } }' style="border-radius:8px" ></deep-chat>
<!-- This example is for Vanilla JS and should be tailored to your framework (see Examples) --> <deep-chat directConnection='{ "openAI": { "key": "placeholder key", "chat": {"model": "gpt-4-vision-preview"} }}' images="true" camera="true" style="border-radius:8px" textInput='{"styles": {"container": {"width": "77%"}}}' ></deep-chat>
Connect to your Open AI assistant.
@@ -82,13 +82,13 @@
Assistantload_thread_history toggles a preload of the previous conversation/thread messages on chat initialisation. new_assistant defines the details for the newly created assistant. files_tool_type defines the type of a tool to be used to process an uploaded file.
-function_handler is the actual function used to handle the model's function response. Please navigate to Assistant Functions for more info.
+function_handler is the actual function used to handle the model's function response. Please navigate to Assistant Functions for more info.
<!-- This example is for Vanilla JS and should be tailored to your framework (see Examples) --> <deep-chat directConnection='{ "openAI": { "key": "placeholder key", "assistant": true }}' style="border-radius:8px" ></deep-chat>
info
Returned MessageContent contains a hidden property called _sessionId which
stores the thread id and allows conversation to continue on a new session.
<!-- This example is for Vanilla JS and should be tailored to your framework (see Examples) --> <deep-chat directConnection='{ "openAI": { "key": "placeholder key", "assistant": { "new_assistant": { "name": "Demo Assistant", "tools": [{"type": "code_interpreter"}] }} }}' mixedFiles="true" style="border-radius:8px" ></deep-chat>
info
You can access the created assistant_id via chatElementRef._activeService.rawBody.assistant_id.
This is used to define the type of tool that will be used to process uploaded files. You can either define it as a string or a function that will return
@@ -133,13 +133,13 @@
FileTool
When nothing is defined and the user uploads an image, Deep Chat will automatically use "images"
which will not use any tools and send the image directly to the vision model.
It is important to note that the "code_interpreter" and "file_search" tools must be toggled ON in the assistant that you are using before
-the files are uploaded. This can either be done in the OpenAI Assistant Playground or in the NewAssistant object.
+the files are uploaded. This can either be done in the OpenAI Assistant Playground or in the NewAssistant object.
<!-- This example is for Vanilla JS and should be tailored to your framework (see Examples) --> <deep-chat directConnection='{ "openAI": { "key": "placeholder key", "assistant": { "assistant_id": "assistant with code interpreter", "files_tool_type": "code_interpreter" }}}' mixedFiles="true" style="border-radius:8px" ></deep-chat>
info
When uploading a file, the user must also submit a text message.
<!-- This example is for Vanilla JS and should be tailored to your framework (see Examples) --> <deep-chat directConnection='{ "openAI": { "key": "placeholder key", "images": {"n": 2, "size": "1024x1024", "response_format": "url"} } }' style="border-radius:8px" ></deep-chat>
Dall-e-2size is the pixel dimensions of the generated images. response_format is the format in which the generated images are returned. user is a unique identifier representing your end-user, which can help OpenAI to monitor and detect abuse. More info can be found here.
-
Dall-e-3response_format is the format in which the generated images are returned. user is a unique identifier representing your end-user, which can help OpenAI to monitor and detect abuse. More info can be found here.
-
TextToSpe
model defines the target model used by the API. Check /v1/audio/speech for more. voice is the name of the voice used in the generated audio. speed defines speed of the generated audio. It accepts a value between 0.25 and 4.0.
-
<!-- This example is for Vanilla JS and should be tailored to your framework (see Examples) --> <deep-chat directConnection='{ "openAI": { "key": "placeholder key", "textToSpeech": {"voice": "echo"} } }' style="border-radius:8px" ></deep-chat>
SpeechToT
language is the language used the input audio. Supplying the input language in ISO-639-1 format will improve accuracy and latency. (Only used for transcription based API). type is used to toggle between the transcription and the translation APIs.
Note that translation can only attempt to translate audio into English.
-
<!-- This example is for Vanilla JS and should be tailored to your framework (see Examples) --> <deep-chat directConnection='{ "openAI": { "key": "placeholder key", "audio": {"model": "whisper-1", "temperature": 0.3, "language": "en", "type": "transcription"} } }' style="border-radius:8px" ></deep-chat>
// using JavaScript for a simplified example chatElementRef.directConnection={ openAI:{ chat:{ tools:[ { type:'function', function:{ name:'get_current_weather', description:'Get the current weather in a given location', parameters:{ type:'object', properties:{ location:{ type:'string', description:'The city and state, e.g. San Francisco, CA', }, unit:{type:'string',enum:['celsius','fahrenheit']}, }, required:['location'], }, }, }, ], function_handler:(functionsDetails)=>{ return functionsDetails.map((functionDetails)=>{ return{ response:getCurrentWeather(functionDetails.arguments), }; }); }, }, key:'placeholder-key', }, };
// using JavaScript for a simplified example chatElementRef.directConnection={ openAI:{ chat:{ tools:[{ type:"function", function:{ name:"get_current_weather", description:"Get the current weather in a given location", parameters:{ type:"object", properties:{ location:{ type:"string", description:"The city and state, e.g. San Francisco, CA", }, unit:{type:"string",enum:["celsius","fahrenheit"]}, }, required:["location"], }}}], function_handler:(functionsDetails)=>{ return functionsDetails.map((functionDetails)=>{ return{ response:getCurrentWeather(functionDetails.arguments), };});} }, key:"placeholder-key", }, }; } functiongetCurrentWeather(location){ location=location.toLowerCase(); if(location.includes('tokyo')){ returnJSON.stringify({location,temperature:'10',unit:'celsius'}); }elseif(location.includes('san francisco')){ returnJSON.stringify({location,temperature:'72',unit:'fahrenheit'}); }else{ returnJSON.stringify({location,temperature:'22',unit:'celsius'}); } }
If your function accepts arguments - the type property should be set to "function", otherwise use the following object {"type": "object", "properties": {}}.
The actual function that the component will call if the model wants a response from tools functions.
-functionsDetails contains information about what tool functions should be called.
-This function should either return an array of JSONs containing a response property for each tool function (in the same order as in functionsDetails)
+
The actual function that the component will call if the model wants a response from tools functions.
+functionsDetails contains information about what tool functions should be called.
+This function should either return an array of JSONs containing a response property for each tool function (in the same order as in functionsDetails)
which will feed it back into the model to finalise a response, or return a JSON containing text which will immediately display it in the chat
and not send any details to the model.
The function_handler property can be assigned with the actual function that the component will call if the model wants a response from your preconfigured assistant's functions
+
The function_handler property can be assigned with the actual function that the component will call if the model wants a response from your preconfigured assistant's functions
inside the OpneAI assistants platform.
-functionsDetails contains information about what functions should be called.
+functionsDetails contains information about what functions should be called.
This function should return an array of strings defining the response for each function described in functionDetails (in the same order)
which will feed it back into the assistant to finalise a response.
// using JavaScript for a simplified example chatElementRef.directConnection={ openAI:{ assistant:{ assistant_id:'placeholder-id', function_handler:(functionsDetails)=>{ return functionsDetails.map((functionDetails)=>this.getCurrentWeather(functionDetails.arguments)); }, }, key:'placeholder-key', }, };
// using JavaScript for a simplified example chatElementRef.directConnection={ openAI:{ assistant:{ assistant_id:'placeholder-id', function_handler:(functionsDetails)=>{ return functionsDetails.map((functionDetails)=>this.getCurrentWeather(functionDetails.arguments)); }, }, key:'placeholder-key', }, }; functiongetCurrentWeather(location){ location=location.toLowerCase(); if(location.includes('tokyo')){ return'Good'; }elseif(location.includes('san francisco')){ return'Mild'; }else{ return'Very Hot'; } }
Array of objects containing information about the functions that the model wants to call. name is the name of the target function.
-arguments is a stringified JSON containing properties based on the parameters defined for the function.
Connect to Stability AI's text-to-image API. StabilityAICommon properties can be used to set the engine Id and other image parameters. width and height is used to set the image dimensions. They must be multiples of 64 and pass the following:
For 768 engines: 589,824 ≤ width * height ≤ 1,048,576 and for other engines: 262,144 ≤ width * height ≤ 1,048,576.
<!-- This example is for Vanilla JS and should be tailored to your framework (see Examples) --> <deep-chat directConnection='{ "stabilityAI": { "key": "placeholder key", "textToImage": {"engine_id": "stable-diffusion-v1-6", "height": 640, "samples": 1} } }' style="border-radius:8px" ></deep-chat>
ImageToIm
step_schedule_start and step_schedule_end are used to skip a proportion of the start/end of the diffusion steps,
allowing the uploaded image to influence the final generated image. Lower values will result in more influence from the original image, while higher
values will result in more influence from the diffusion steps. (0 to 1)
-
<!-- This example is for Vanilla JS and should be tailored to your framework (see Examples) --> <deep-chat directConnection='{ "stabilityAI": { "key": "placeholder key", "imageToImage": {"engine_id": "stable-diffusion-v1-6", "width": 1024, "height": 1024, "samples": 1} } }' style="border-radius:8px" ></deep-chat>
Im
where white pixels are completely replaced and black pixels are unchanged. "MASK_IMAGE_BLACK" will use the black pixels of the mask image (second image) as the mask,
where black pixels are completely replaced and white pixels are unchanged. "INIT_IMAGE_ALPHA" will use the alpha channel of the uploaded image as the mask,
where fully transparent pixels are completely replaced and fully opaque pixels are unchanged - in this instance the mask image does not need to be uploaded.
-
<!-- This example is for Vanilla JS and should be tailored to your framework (see Examples) --> <deep-chat directConnection='{ "stabilityAI": { "key": "placeholder key", "imageToImageMasking": {"mask_source": "MASK_IMAGE_WHITE", "samples": 1} } }' style="border-radius:8px" ></deep-chat>
Im
engine_id is the engine that will be used to process the image. width and height are used to define the desired with of the result image where only EITHER ONE of the two can be set.
Minimum dimension number is 512.
-
<!-- This example is for Vanilla JS and should be tailored to your framework (see Examples) --> <deep-chat directConnection='{ "stabilityAI": { "key": "placeholder key", "imageToImageUpscale": {"width": 1000} } }' style="border-radius:8px" ></deep-chat>
Stab
steps is the number of diffusion steps to run (10 to 150). style_preset guides the image model towards a particular style. clip_guidance_preset is the clip guidance preset.
-
<!-- This example is for Vanilla JS and should be tailored to your framework (see Examples) --> <deep-chat directConnection='{ "stabilityAI": { "key": "placeholder key", "textToImage": { "engine_id": "stable-diffusion-v1-6", "weight": 1, "style_preset": "fantasy-art", "samples": 2 }}}' style="border-radius:8px" ></deep-chat>
Deep Chat is preconfigured to connect to popular AI APIs right out of the box. Depending on the service you choose component assets
such as buttons and intro panel will automatically be changed to suit the chosen service. Their configuration can still be overwitten manually.
The directConnection and key properties are intended to be used for prototyping purposes ONLY and should not be
+
caution
The directConnection and key properties are intended to be used for prototyping purposes ONLY and should not be
deployed to a public website as their values can be accessed in the browser. Before going live, switch to using the connect
property to connect to your server. Read more about this in Connect and check examples.
<deep-chat directConnection='{ "openAI": { "key": "placeholder key", "chat": {"system_prompt": "Assist me with anything you can"} } }' ></deep-chat>
<!-- This example is for Vanilla JS and should be tailored to your framework (see Examples) --> <deep-chat directConnection='{ "openAI": { "key": "placeholder key", "chat": {"system_prompt": "Assist me with anything you can"} } }' style="border-radius:8px" ></deep-chat>
<deep-chat directConnection='{ "openAI": { "key": "placeholder key", "validateKeyProperty": true, "chat": {"system_prompt": "Assist me with anything you can"} } }' ></deep-chat>
<!-- This example is for Vanilla JS and should be tailored to your framework (see Examples) --> <deep-chat directConnection='{ "openAI": { "key": "placeholder key", "validateKeyProperty": true, "chat": {"system_prompt": "Assist me with anything you can"} } }' style="border-radius:8px" ></deep-chat>
onMessageTriggered when a message is sent from the user and recieved from the target service. message encompasses all of the message contents. isHistory is used to determine whether if the message is from the prepopulated history property.
-
<!-- This example is for Vanilla JS and should be tailored to your framework (see Examples) --> chatElementRef.addEventListener('new-message', (event) => { console.log(event.detail); });
<!-- This example is for Vanilla JS and should be tailored to your framework (see Examples) --> chatElementRef.addEventListener('messages-cleared', () => { console.log("Messages cleared"); });
<!-- This example is for Vanilla JS and should be tailored to your framework (see Examples) --> chatElementRef.addEventListener('render', () => { console.log("Finished rendering"); });
note
Setting a property's value on the DeepChat element when this event is triggered can cause infinite recursion
as the component will re-render every time a property value is set. Use a flag variable to prevent this - example.
<!-- This example is for Vanilla JS and should be tailored to your framework (see Examples) --> chatElementRef.addEventListener('error', (event) => { console.log(event.detail); });
Creates a button that allows the user to upload images.
-This property can be set with a boolean true or configured with a FilesServiceConfig object.
+This property can be set with a boolean true or configured with a FilesServiceConfig object.
Sample code
Full code
<deep-chatimages="true"></deep-chat>
<!-- This example is for Vanilla JS and should be tailored to your framework (see Examples) --> <deep-chat images="true" demo="true" style="border-radius:8px" introMessage='{"text": "Use the image button or drop a file to attach it to the next outgoing message."}' history='[{"files": [{"src": "path-to-file.jpeg", "type": "image"}], "role": "user"}]' ></deep-chat>
Creates a button that allows the user to upload GIFs.
-This property can be set with a boolean true or configured with a FilesServiceConfig object.
+This property can be set with a boolean true or configured with a FilesServiceConfig object.
Sample code
Full code
<deep-chatgifs="true"></deep-chat>
<!-- This example is for Vanilla JS and should be tailored to your framework (see Examples) --> <deep-chat gifs="true" demo="true" style="border-radius:8px" introMessage='{"text": "Use the GIF button or drop a file to attach it to the next outgoing message."}' history='[{"files": [{"src": "path-to-file.gif", "type": "image"}], "role": "user"}]' ></deep-chat>
Creates a button that allows the user to capture images using a web camera.
-This property can be set with a boolean true or configured with a CameraFilesServiceConfig object.
+This property can be set with a boolean true or configured with a CameraFilesServiceConfig object.
Sample code
Full code
<deep-chatcamera="true"></deep-chat>
<!-- This example is for Vanilla JS and should be tailored to your framework (see Examples) --> <deep-chat camera="true" demo="true" style="border-radius:8px" introMessage='{"text": "Use the camera button to open up a modal for capturing photos."}' history='[{"files": [{"src": "path-to-file.jpeg", "type": "image"}], "role": "user"}]' ></deep-chat>
Creates a button that allows the user to upload audio files.
-This property can be set with a boolean true or configured with a FilesServiceConfig object.
+This property can be set with a boolean true or configured with a FilesServiceConfig object.
Sample code
Full code
<deep-chataudio="true"></deep-chat>
<!-- This example is for Vanilla JS and should be tailored to your framework (see Examples) --> <deep-chat audio="true" demo="true" style="border-radius:8px" introMessage='{"text": "Use the audio button or drop a file to attach it to the next outgoing message."}' history='[{"files": [{"src": "path-to-file.wav", "type": "audio"}], "role": "user"}]' ></deep-chat>
Creates a button that allows the user to record audio files using the microphone.
-This property can be set with a boolean true or configured with a MicrophoneFilesServiceConfig object.
<!-- This example is for Vanilla JS and should be tailored to your framework (see Examples) --> <deep-chat microphone="true" demo="true" style="border-radius:8px" introMessage='{"text": "Use the microphone button or drop a file to attach it to the next outgoing message."}' history='[{"files": [{"src": "path-to-file.wav", "type": "audio"}], "role": "user"}]' ></deep-chat>
Creates a button that allows the user to upload any kind of files.
-This property can be set with a boolean true or configured with a FilesServiceConfig object.
+This property can be set with a boolean true or configured with a FilesServiceConfig object.
Sample code
Full code
<deep-chatmixedFiles="true"></deep-chat>
<!-- This example is for Vanilla JS and should be tailored to your framework (see Examples) --> <deep-chat mixedFiles="true" demo="true" style="border-radius:8px" introMessage='{"text": "Use the file button or drop a file to attach it to the next outgoing message."}' history='[{"files": [{"src": "path-to-file.txt", "name": "text-file.txt", "type": "file"}], "role": "user"}]' ></deep-chat>
Configuration for the drag and drop functionality. If any of the above properties are defined or you have defined a service in the directConnection property which allows file uploads -
-this will automatically be defaulted to true. Once the user drops a file, it will only be accepted if any of the above properties allow it via their default or custom acceptedFormats property's value. For example if
+this will automatically be defaulted to true. Once the user drops a file, it will only be accepted if any of the above properties allow it via their default or custom acceptedFormats property's value. For example if
".png,.jpg" in images are the only file types allowed, a dropped .txt file will not be accepted.
<!-- This example is for Vanilla JS and should be tailored to your framework (see Examples) --> <deep-chat dragAndDrop='{"backgroundColor": "#80ff704d", "border": "5px dashed #52c360"}' mixedFiles="true" demo="true" style="border-radius:8px" introMessage='{"text": "Drag and drop a file to observe the result."}' ></deep-chat>
Object used to configure the ability for the component to send files. connect object is used to override the default service connection settings when sending a file.
@@ -102,13 +102,13 @@
<!-- This example is for Vanilla JS and should be tailored to your framework (see Examples) --> <deep-chat audio='{ "connect": {"url": "https://customapi.com/audio"}, "files": {"acceptedFormats": ".mp3,.wav"}, "button": {"position": "outside-left"} }' demo="true" style="border-radius:8px" introMessage='{"text": "Use the audio button or drop a file to attach it to the next outgoing message."}' ></deep-chat>
FileAt
maxNumberOfFiles controls the maximum number of files that can be sent within one message. acceptedFormats is used to define the accepted file formats. This is a string that uses the same syntax
as the accept attributes
-in input elements. The dragAndDrop feature will also
+in input elements. The dragAndDrop feature will also
use this value to verify the dropped files. infoModal is used to display noteworthy information when the user clicks the button to browse for a file.
<!-- This example is for Vanilla JS and should be tailored to your framework (see Examples) --> <deep-chat images='{"files": {"maxNumberOfFiles": 2, "acceptedFormats": ".jpg,.png"}}' demo="true" style="border-radius:8px" introMessage='{"text": "Use the image button or drop a file to attach it to the next outgoing message."}' ></deep-chat>
<deep-chat images='{ "files": { "infoModal": { "textMarkDown": "Please note our terms of service for sending files: [link](https://www.youtube.com/watch?v=dQw4w9WgXcQ&ab_channel=RickAstley).", "openModalOnce": true, "containerStyle": {"borderRadius": "5px"} } } }' ></deep-chat>
<!-- This example is for Vanilla JS and should be tailored to your framework (see Examples) --> <deep-chat images='{ "files": { "infoModal": { "textMarkDown": "Please note our terms of service for sending files: [link](https://www.youtube.com/watch?v=dQw4w9WgXcQ&ab_channel=RickAstley).", "openModalOnce": true, "containerStyle": {"borderRadius": "5px"} } } }' demo="true" style="border-radius:8px" introMessage='{"text": "Click the image button to open up the modal."}' ></deep-chat>
<!-- This example is for Vanilla JS and should be tailored to your framework (see Examples) --> <deep-chat camera='{ "connect": {"url": "https://customapi.com/image-from-camera"}, "files": {"format": "png"}, "button": {"position": "outside-left"}, "modalContainerStyle": {"borderRadius": "5px"} }' demo="true" style="border-radius:8px" introMessage='{"text": "Use the camera button to open up a modal for capturing photos."}' ></deep-chat>
CameraFile
dimensions are used to set the pixel area of the photograph. Please note that this is largely controlled by the mediaDevice
of the user's browser, so if the dimensions you have provided skew the photograph in a particular way they may be overriden. maxNumberOfFiles is the limit to the number of images that can be captured for one message.
-acceptedFormats is used to limit the allowed files that can be dropped via the dragAndDrop functionality as this feature will enable it automatically.
+acceptedFormats is used to limit the allowed files that can be dropped via the dragAndDrop functionality as this feature will enable it automatically.
It uses the same syntax as the accept attributes
-in input elements. If the configuration in images also uses
+in input elements. If the configuration in images also uses
the acceptedFormats property, it will override this one.
<!-- This example is for Vanilla JS and should be tailored to your framework (see Examples) --> <deep-chat camera='{ "files": { "format": "png", "dimensions": {"width": 450, "height": 600}, "maxNumberOfFiles": 2, "acceptedFormats": ".jpg,.png" } }' demo="true" style="border-radius:8px" introMessage='{"text": "Use the camera button to open up a modal for capturing photos."}' ></deep-chat>
<!-- This example is for Vanilla JS and should be tailored to your framework (see Examples) --> <deep-chat microphone='{ "connect": {"url": "https://customapi.com/audio-from-microphone"}, "files": {"format": "mp3"}, "button": {"position": "outside-left"} }' demo="true" style="border-radius:8px" introMessage='{"text": "Use the microphone button to record audio."}' ></deep-chat>
Au
format is the resultant audio file format. maxDurationSeconds is the maximum length of time one audio file can be recorded. maxNumberOfFiles is the limit to the number of files that can be recorded for one message.
-acceptedFormats is used to limit the allowed files that can be dropped via the dragAndDrop functionality as this feature will enable it automatically.
+acceptedFormats is used to limit the allowed files that can be dropped via the dragAndDrop functionality as this feature will enable it automatically.
It uses the same syntax as the accept attributes
-in input elements. If the configuration in audio also uses
+in input elements. If the configuration in audio also uses
the acceptedFormats property, it will override this one.
<!-- This example is for Vanilla JS and should be tailored to your framework (see Examples) --> <deep-chat microphone='{ "files": { "format": "mp3", "maxDurationSeconds": 10, "maxNumberOfFiles": 2, "acceptedFormats": ".mp3,.wav" } }' demo="true" style="border-radius:8px" introMessage='{"text": "Use the microphone button to record audio."}' ></deep-chat>
info
The use of this object will automatically disable the speechToText functionality.
Triggered before a user message is sent out. This method MUST either return a RequestDetails object or
+
Triggered before a user message is sent out. This method MUST either return a RequestDetails object or
an object that contains an error property to cancel the request.
// Async function chatElementRef.requestInterceptor=async(requestDetails)=>{ console.log(requestDetails);// printed above const otherTask =awaitfetch('http://localhost:8080/other-task'); if(!otherTask.ok){ return{error:'Error in other task'}; } return requestDetails; }; // Promise function - use resolve() for both success and error responses chatElementRef.requestInterceptor=(requestDetails)=>{ returnnewPromise((resolve)=>{ console.log(requestDetails);// printed above fetch('http://localhost:8080/other-task').then((otherTask)=>{ if(!otherTask.ok){ returnresolve({error:'Error in other task'}); } resolve(requestDetails); }); }); };
// Async function chatElementRef.responseInterceptor=async(response)=>{ console.log(response);// printed above const otherTask =awaitfetch('http://localhost:8080/other-task'); if(!otherTask.ok){ return{error:'Error in other task'}; } return response; }; // Promise function - use resolve() for both success and error responses chatElementRef.responseInterceptor=(response)=>{ returnnewPromise((resolve)=>{ console.log(response);// printed above fetch('http://localhost:8080/other-task').then((result)=>{ if(!result.ok){ returnresolve({error:'Error in other task'}); } resolve(response); }); }); };
Triggered when the user changes input text or files that are going to be sent to the target service.
The method must return a boolean value with either true or false for whether the input contents are valid.
<deep-chat> <div style=" width: 200px; background-color: #f3f3f3; border-radius: 10px; padding: 12px; padding-bottom: 15px; display: none; " > <div> <divstyle="text-align: center;margin-bottom:8px;font-size:16px"> <b>Intro panel</b> </div> <divstyle="font-size:15px;line-height:20px"> Insert a description to help your users understand how to use the component. </div> </div> </div> </deep-chat>
<!-- This example is for Vanilla JS and should be tailored to your framework (see Examples) --> <deep-chatdemo="true"style="border-radius:8px"> <div style=" width: 200px; background-color: #f3f3f3; border-radius: 10px; padding: 12px; padding-bottom: 15px; display: none; " > <div> <divstyle="text-align: center;margin-bottom:8px;font-size:16px"> <b>Intro panel</b> </div> <divstyle="font-size:15px;line-height:20px"> Insert a description to help your users understand how to use the component. </div> </div> </div> </deep-chat>
tip
Depending on your framework of choice - the intro panel may briefly be visibile before the component fully loads. To prevent this, you can set its display style
to "none" and it will automatically be set to "block" once it is ready (this property needs to be set in a style
attribute/property and not in a class).
Because Deep Chat is a shadow element - the intro panel will not have access
to the CSS classes and JavaScript in your app. To get around this, we recommend using the htmlClassUtilities property
which will allow you to define reusable styling and bind functions to your app's state.
Controls the intro panel's parent-most element's style. This is most useful for changing the base styling of the automatically generated intro panels when using
services in the directConnection property.
<!-- This example is for Vanilla JS and should be tailored to your framework (see Examples) --> <deep-chat introPanelStyle='{"backgroundColor": "#fffeec"}' style="border-radius:8px" directConnection='{"openAI": {"audio": true, "key": "placeholder-key"}}' ></deep-chat>
tip
To remove an automatically generated panel - add empty div tags: <deep-chat><div></div></deep-chat> .
Building a custom chat component that can interact with a remote service is no easy feat. This is a challenge that we took on with full force,
ultimately releasing a web component capable of connecting to any API with minimal amount of effort required.
No two chat components will ever be the same. We understand that your APIs have unique requirements and your websites demand novel UX.
@@ -28,10 +28,10 @@
Open source is at the heart of what we do. Deep Chat is built by the community - for the community. All contributions to this project are welcome!
If you have any suggestions for enhancements, ideas on how to take the project further or have discovered a bug, do not hesitate to create a new issue ticket and we will look into it as soon as possible!
You can insert and render your own code inside chat message bubbles using the html property.
If you want to use your code for an introduction panel - check out Intro Panel instead.
The html property can be used in server Responses and is stored inside the chat using the MessageContent format.
It must describe full (not partial) elements or simple plain text. Here is an example for history:
<!-- This example is for Vanilla JS and should be tailored to your framework (see Examples) --> <deep-chat history='[{"html": "<button>Button</button>", "role": "user"}]' style="height:370px;border-radius:8px" demo="true" ></deep-chat>
htm
events is an object that accepts properties with keys from GlobalEventHandlersEventMap (same as the string
used for addEventListener(HERE), e.g. "mousedown") or any custom event name and accepts a function as the value. styles defines the styles applied to the element for different mouse states.
-
Deep Chat comes with a pre-defined set of classes that can be used to add styling/functionality to your elements. deep-chat-button - applies default button styling. deep-chat-suggestion-button - when clicked sends the text that is inside the button as a new user message. deep-chat-temporary-message - removes the message when a new one is added to the chat. This class needs to be applied
to the parent-most element in the html string. This message is also not tracked in state.
// using JavaScript for a simplified example chatElementRef.history=[ {html:'<button class="deep-chat-button deep-chat-suggestion-button">Hello</button>',role:'ai'}, {html:'<button class="deep-chat-suggestion-button deep-chat-temporary-message">Goodbye</button>',role:'user'}, ];
// using JavaScript for a simplified example chatElementRef.history=[ {html:'<button class="deep-chat-button deep-chat-suggestion-button">Hello</button>',role:'ai'}, {html:'<button class="deep-chat-suggestion-button deep-chat-temporary-message">Goodbye</button>',role:'user'}, ]; Object.assign(chatElementRef.style,{height:'370px',borderRadius:'8px'}); chatElementRef.demo=true;
info
If you have suggestions for new classes that you think would be useful, please raise an issue on GitHub.
<!-- This example is for Vanilla JS and should be tailored to your framework (see Examples) --> <deep-chat messageStyles='{"html": {"shared": {"bubble": {"backgroundColor": "unset"}}}}' history='[{"html": "<button>User button</button>", "role": "user"}]' style="height:370px;border-radius:8px" demo="true" ></deep-chat>
If the html string includes your own custom tags (e.g. <custom-element>), they cannot be for the components in your framework
and must instead be for custom elements
or shadow DOM elements
@@ -77,7 +77,7 @@
Custom Elemen
Web components can ultimately be created in any way you desire using any framework outside of your project and imported the same ways as you do
deep-chat. To note, this approach may require you to first import or use them in your app's code in order for your bundler to register them.
// This is a simple way to create web components via JavaScript, refer to all possibilities above // JavaScript class CustomElement extends HTMLElement { constructor() { super(); this.textContent = 'This is a Custom Element'; } } customElements.define('custom-element', CustomElement); // HTML <deep-chat history='[{"html": "<custom-element/>", "role": "user"}]'></deep-chat>
// This is a simple way to create web components via JavaScript, refer to all possibilities above // JavaScript class CustomElement extends HTMLElement { constructor() { super(); this.textContent = 'This is a Custom Element'; } } customElements.define('custom-element', CustomElement); // HTML <deep-chat history='[{"html": "<custom-element/>", "role": "user"}]' style="height: 370px; border-radius: 8px" demo="true" ></deep-chat>
info
When passing values into your custom element, you need to pass them as attributes (they must be stringified). E.g.
@@ -85,9 +85,9 @@
// using JavaScript for a simplified example chatElementRef.history=[ { html:` <div class="deep-chat-temporary-message"> <button class="deep-chat-button deep-chat-suggestion-button" style="margin-top: 5px">What do shrimps eat?</button> <button class="deep-chat-button deep-chat-suggestion-button" style="margin-top: 6px">Can a shrimp fry rice?</button> <button class="deep-chat-button deep-chat-suggestion-button" style="margin-top: 6px">What is a pistol shrimp?</button> </div>`, role:'ai', }, ]; chatElementRef.messageStyles={html:{shared:{bubble:{backgroundColor:'unset',padding:'0px'}}}};
// using JavaScript for a simplified example chatElementRef.history=[ {text:'How are you doing?',role:'user'}, {text:'Good, how may I help?',role:'ai'}, { html:` <div class="deep-chat-temporary-message"> <button class="deep-chat-button deep-chat-suggestion-button" style="margin-top: 5px">What do shrimps eat?</button> <button class="deep-chat-button deep-chat-suggestion-button" style="margin-top: 6px">Can a shrimp fry rice?</button> <button class="deep-chat-button deep-chat-suggestion-button" style="margin-top: 6px">What is a pistol shrimp?</button> </div>`, role:'ai', }, ]; chatElementRef.messageStyles={html:{shared:{bubble:{backgroundColor:'unset',padding:'0px'}}}}; Object.assign(chatElementRef.style,{height:'370px',borderRadius:'8px'}); chatElementRef.demo=true;
@@ -110,6 +110,6 @@
Custom Element - Table
Add an interactive table component (e.g. using Active Table).
Sample code
Full code
// using JavaScript for a simplified example chatElementRef.history=[ { html:` <div> <div style="margin-bottom: 10px">Here is a simple example:</div> <active-table data='[["Planet", "Mass"], ["Earth", 5.97], ["Mars", 0.642], ["Jupiter", 1898]]' cellStyle='{"width": "80px"}' displayAddNewRow="false" displayAddNewColumn="false"> </active-table> </div>`, role:'ai', }, ];
// using JavaScript for a simplified example chatElementRef.history=[ {text:'Generate a table with info about planets',role:'user'}, { html:` <div> <div style="margin-bottom: 10px">Here is a simple example:</div> <active-table data='[["Planet", "Mass"], ["Earth", 5.97], ["Mars", 0.642], ["Jupiter", 1898]]' cellStyle='{"width": "75px"}' displayAddNewRow="false" displayAddNewColumn="false"> </active-table> </div>`, role:'ai', }, ]; Object.assign(chatElementRef.style,{height:'370px',borderRadius:'8px'}); chatElementRef.demo={ response:{ html:` <active-table content='[["Planet", "Mass", "Moons"], ["Saturn", 82, 1], ["Neptune", 14, 2], ["Mercury", 0.33, 0]]' cellStyle='{"width": "80px"}' displayAddNewRow="false" displayAddNewColumn="false"> </active-table>`, }, };
<deep-chat history='[ {"text": "Show me a modern city", "role": "user"}, {"files": [{"src": "path-to-file.jpeg", "type": "image"}], "role": "ai"}, {"text": "Whats on your mind?", "role": "user"}, {"text": "Peace and tranquility", "role": "ai"} ]' ></deep-chat>
<!-- This example is for Vanilla JS and should be tailored to your framework (see Examples) --> <deep-chat history='[ {"text": "Show me a modern city", "role": "user"}, {"files": [{"src": "path-to-file.jpeg", "type": "image"}], "role": "ai"}, {"text": "Whats on your mind?", "role": "user"}, {"text": "Peace and tranquility", "role": "ai"} ]' style="height:370px;border-radius:8px" demo="true" ></deep-chat>
Initial ai message that is displayed when the chat is loaded. It is different to history as it will not trigger
+
Initial ai message that is displayed when the chat is loaded. It is different to history as it will not trigger
the onMessage listener, will not be part of the returned messages when getMessages is called and
is not taken into consideration when calculating requestBodyLimits. html is used to render custom code and can be coupled with a deep-chat-temporary-message
class to make this message disappear after a new one is added.
<deep-chatintroMessage='{"text": "Hi I am your assistant, ask me anything!"}'></deep-chat>
<!-- This example is for Vanilla JS and should be tailored to your framework (see Examples) --> <deep-chat introMessage='{"text": "Hi I am your assistant, ask me anything!"}' demo="true" style="border-radius:8px" ></deep-chat>
Add avatars beside messages. You can enable this by setting the value to true
-or by defining an object with Avatar properties. The default property is applied to all roles.
+or by defining an object with Avatar properties. The default property is applied to all roles.
custom roles (e.g. "bob") use ai styling by default.
<!-- This example is for Vanilla JS and should be tailored to your framework (see Examples) --> <deep-chat avatars="true" history='[ {"text": "Hey, how are you?", "role": "user"}, {"text": "I am doing great, how about you?", "role": "ai"}, {"text": "What is the meaning of life?", "role": "user"}, { "text": "This ultimately depends on the person, but it could be the pursuit of happiness or fulfillment.", "role": "ai" } ]' style="border-radius:8px" demo="true" ></deep-chat>
<!-- This example is for Vanilla JS and should be tailored to your framework (see Examples) --> <deep-chat avatars='{ "default": {"styles": {"avatar": {"height": "30px", "width": "30px"}, "container": {"marginTop": "8px"}}}, "ai": {"src": "path-to-file.svg", "styles": {"avatar": {"marginLeft": "-3px"}}}, "bob": {"src": "path-to-file.png", "styles": {"avatar": {"borderRadius": "15px"}}} }' history='[ {"text": "What is the meaning of life?", "role": "user"}, { "text": "This ultimately depends on the person, but it could be the pursuit of happiness or fulfillment.", "role": "ai" }, { "text": "We dont laugh because we feel good, we feel good because we laugh.", "role": "bob" } ]' style="border-radius:8px" demo="true" ></deep-chat>
Add names beside messages. You can enable this by setting the value to true
-or by defining an object with Name properties. The default property is applied to all roles.
+or by defining an object with Name properties. The default property is applied to all roles.
custom roles (e.g. "bob") use ai styling by default.
<!-- This example is for Vanilla JS and should be tailored to your framework (see Examples) --> <deep-chat names="true" history='[ {"text": "Hey, how are you?", "role": "user"}, {"text": "I am doing great!", "role": "ai"}, {"text": "Motivate me", "role": "user"}, { "text": "Talent is a pursued interest. Anything you’re willing to practice, you can do.", "role": "Bob" } ]' style="border-radius:8px" demo="true" ></deep-chat>
<!-- This example is for Vanilla JS and should be tailored to your framework (see Examples) --> <deep-chat names='{ "default": {"style": {"fontSize": "18px", "marginTop": "14px", "width": "32px"}}, "ai": {"text": "You"}, "user": {"text": "Me"}, "Bob": {"style": {"color": "green"}}}' history='[ {"text": "Hey, how are you?", "role": "user"}, {"text": "I am doing great!", "role": "ai"}, {"text": "Motivate me", "role": "user"}, { "text": "Talent is a pursued interest. Anything you’re willing to practice, you can do.", "role": "Bob" } ]' style="border-radius:8px" demo="true" ></deep-chat>
Toggle whether the loading bubble should be displayed when waiting for a message response. If set to false - the submit button
will automatically have a loading animation.
<!-- This example is for Vanilla JS and should be tailored to your framework (see Examples) --> <deep-chat displayLoadingBubble="false" introMessage='{"text": "Send a new message to observe a response with no loading bubble."}' style="border-radius:8px" demo="true" ></deep-chat>
errorMes
displayServiceErrorMessages is used to display the full error message that has been returned from the service. overrides is used to overwrite the error message text based on what has caused it: default is used for any kind of error, service
is for communication with the target service and speechToText is when there is a problem using the speechToText functionality.
-
<deep-chat errorMessages='{ "overrides": { "default": "Default error :(", "service": "Target service error!", "speechToText": "Speech to text microphone error!" } }' ></deep-chat>
<!-- This example is for Vanilla JS and should be tailored to your framework (see Examples) --> <deep-chat errorMessages='{ "overrides": { "default": "Default error :(", "service": "Target service error!", "speechToText": "Speech to text microphone error!" } }' style="border-radius:8px" demo='{"displayErrors": {"default": true, "service": true, "speechToText": true}}' ></deep-chat>
Object format used to encapsulate a message within the chat. role defines the message sender. If not set it is automatically regarded as "ai".
@@ -146,11 +146,11 @@
Message
paragraphs and more. See this playground for reference. files is an array that encapsulates details on the response files. html is a string that defines the markup for custom elements.
-
<deep-chat history='[ {"files": [{"src": "path-to-image.jpeg", "type": "image"}], "role": "user"}, {"text": "This is a nice image of a yellow bird on a branch.", "role": "ai"} ]' ></deep-chat>
<!-- This example is for Vanilla JS and should be tailored to your framework (see Examples) --> <deep-chat history='[ {"files": [{"src": "path-to-image.jpeg", "type": "image"}], "role": "user"}, {"text": "This is a nice image of a yellow bird on a branch.", "role": "ai"} ]' style="border-radius:8px" demo="true" ></deep-chat>
Format that defines the details of a file.
@@ -171,25 +171,25 @@
MessageFil
The component will automatically try to infer the file type from the src property so that it can render its media correctly,
however you can help it by setting the type. ref is the actual file's reference. It is only included in onMessage events.
-
<!-- This example is for Vanilla JS and should be tailored to your framework (see Examples) --> <deep-chat history='[ {"role": "user", "files": [ {"src": "path-to-file.jpeg", "type": "image"}, {"src": "data:image/gif;base64,R0lGODlh4A...", "type": "image"}, {"src": "path-to-file.wav", "type": "audio"}, {"name": "placeholder.exe"}, {"src": "path-to-file", "name": "hello-world.txt", "type": "file"} ]}]' style="height:370px;border-radius:8px" demo="true" ></deep-chat>
info
Files with "image" or "any" types that contain a src property as a url will have their bubble set as a hyperlink.
By default, text messages containing code will be rendered with white text in a dark background.
In order to highlight the code, you will need to add an external module called highligt.js.
Check out external module EXAMPLES to find multiple ways of how you can add it to your project.
<!-- This example is for Vanilla JS and should be tailored to your framework (see Examples) --> <deep-chat history='[ { "text": "```java\nwhile (i < 5) {\n console.log(\"hi\");\n i+= 1;\n}\n```", "role": "ai" } ]' messageStyles='{ "default": { "shared": { "bubble": {"maxWidth": "270px"} } } }' style="border-radius:8px" demo="true" ></deep-chat>
<!-- This example is for Vanilla JS and should be tailored to your framework (see Examples) --> <deep-chat messageStyles='{ "default": { "shared": {"bubble": {"color": "white"}}, "ai": {"bubble": {"backgroundColor": "#3cbe3c"}}, "user": {"bubble": {"backgroundColor": "#6767ff"}}, "bob": {"bubble": {"backgroundColor": "#ffa500"}} } }' history='[ {"text": "What is the meaning of life?", "role": "user"}, { "text": "This ultimately depends on the person, but it could be the pursuit of happiness or fulfillment.", "role": "ai" }, { "text": "We dont laugh because we feel good, we feel good because we laugh.", "role": "bob" } ]' style="border-radius:8px" demo="true" ></deep-chat>
<!-- This example is for Vanilla JS and should be tailored to your framework (see Examples) --> <deep-chat messageStyles='{ "default": { "shared": { "outerContainer": {"backgroundColor": "orange"}, "innerContainer": {"backgroundColor": "yellow"}, "bubble": {"color": "black"} }, "ai": {"bubble": {"backgroundColor": "lightgreen"}}, "user": {"bubble": {"backgroundColor": "lightblue"}} } }' history='[ {"text": "What is the meaning of life?", "role": "user"}, { "text": "This ultimately depends on the person, but it could be the pursuit of happiness or fulfillment.", "role": "ai" } ]' style="border-radius:8px" demo="true" ></deep-chat>
<!-- This example is for Vanilla JS and should be tailored to your framework (see Examples) --> <deep-chat messageStyles='{ "error": { "bubble": {"backgroundColor": "#f98e00", "color": "white", "fontSize": "15px"} } }' style="border-radius:8px" demo='{"displayErrors": {"service": true}}' ></deep-chat>
UserMessag
files is an array containing files that are going to be part of the outgoing message. This can either be an array
of File objects or a FileList
object which typically comes from a file input.
-
addMessage<
message is an object containing message details. isUpdate identifies whether the message should be treated as new - e.g. should onMessage event
and textToSpeech be triggered.
-
chatElementRef.addMessage({ html:`<button class="deep-chat-button deep-chat-suggestion-button deep-chat-temporary-message">What is your name?</button>`, role:'user', });
If your text messages contain Code and you are using the higlight.js module to highlight them
(as per external module guidelines), sometimes the module may load after the messages have been rendered, leaving the code without a highlight. In such instances, you can use this
method to highlight the code with the loaded module.
<!-- This example is for Vanilla JS and should be tailored to your framework (see Examples) --> <deep-chat textToSpeech='{"volume": 0.9}' introMessage='{"text": "Send a message to hear the response."}' style="border-radius:8px" demo="true" ></deep-chat>
<!-- This example is for Vanilla JS and should be tailored to your framework (see Examples) --> <deep-chat speechToText='{ "webSpeech": true, "translations": {"hello": "goodbye", "Hello": "Goodbye"}, "commands": {"resume": "resume", "settings": {"commandMode": "hello"}}, "button": {"position": "outside-left"} }' introMessage='{"text": "Click the microphone to start transcribing your speech."}' style="border-radius:8px" demo="true" ></deep-chat>
<!-- This example is for Vanilla JS and should be tailored to your framework (see Examples) --> <deep-chat speechToText='{"webSpeech": {"language": "en-US"}}' introMessage='{"text": "Click the microphone to start transcribing your speech."}' style="border-radius:8px" demo="true" ></deep-chat>
note
This service stops after a brief period of silence due to limitations in its API and not Deep Chat.
This object requires region and either retrieveToken, subscriptionKey or the token properties to be defined with it: region is the location/region of your Azure speech resource. retrieveToken is a function used to retrieve a new token for the Azure speech resource. It is the recommended property to use as
-it can retrieve the token from a secure server that will hide your credentials. Check out the retrieval example below
+it can retrieve the token from a secure server that will hide your credentials. Check out the retrieval example below
and starter server templates. subscriptionKey is the subscription key for the Azure speech resource. token is a temporary token for the Azure speech resource.
@@ -130,7 +130,7 @@
AzureOpti
stopAfterSilenceMs is the milliseconds of silence required for the microphone to automatically turn off.
info
To use the Azure Speech To Text service - please add the Speech SDK to your project.
See EXAMPLES.
<!-- This example is for Vanilla JS and should be tailored to your framework (see Examples) --> <deep-chat speechToText='{ "azure": { "subscriptionKey": "resource-key", "region": "resource-region", "language": "en-US", "stopAfterSilenceMs": 5000 } }' errorMessages='{ "overrides": {"speechToText": "Azure Speech To Text can not be used in this website as you need to set your credentials."} }' introMessage='{"text": "Azure Speech To Text can'tbeusedinthiswebsiteasyouneedtosetyourcredentials."}' style="border-radius:8px" demo="true" ></deep-chat>
<!-- This example is for Vanilla JS and should be tailored to your framework (see Examples) --> <deep-chat speechToText='{"textColor": {"interim": "green", "final": "blue"}}' introMessage='{"text": "Click the microphone to start transcribing your speech."}' style="border-radius:8px" demo="true" ></deep-chat>
Commandsfalse - the command will only be executed if you say "stop". caseSensitive is used to toggle if command phrases are case sensitive. E.g. if this is set to true and your command phrase is "stop" - when the service recognizes
your speech as "Stop" it will not execute your command. On the other hand if it is set to false it will execute.
-
<!-- This example is for Vanilla JS and should be tailored to your framework (see Examples) --> <deep-chat speechToText='{ "commands": { "stop": "stop", "pause": "pause", "resume": "resume", "removeAllText": "remove text", "submit": "submit", "commandMode": "command", "settings": { "substrings": true, "caseSensitive": false }}}' introMessage='{"text": "Click the microphone to start transcribing your speech. Command mode activation phrase is `command`."}' style="border-radius:8px" demo="true" ></deep-chat>
This object is used to define the styling for the microphone button.
It contains the same properties as the MicrophoneStyles object
-and an additional commandMode property which sets the button styling when the command mode is activated.
Automatically submit the input message after a period of silence.
This property accepts the value of true or a number which represents the milliseconds of silence
required to wait before a messaget is submitted. If this is set to true the default milliseconds is 2000.
<!-- This example is for Vanilla JS and should be tailored to your framework (see Examples) --> <deep-chat speechToText='{"submitAfterSilence": 3000}' introMessage='{"text": "Click the microphone to start transcribing your speech."}' style="border-radius:8px" demo="true" ></deep-chat>
caution
When using the default Web Speech API - the recording will
automatically stop after 5-7 seconds of silence, please take care when setting the ms property.
SpeechEve
onStop is triggered when speech recording stops. onResult is triggered when the latest speech segment is transcribed and inserted into chat's text input. onPreResult is triggered when the latest speech segment is transcribed and before it is inserted into chat's text input. This is
-particularly useful for executing commands.
+particularly useful for executing commands. onCommandModeTrigger is triggered when command mode is initiated and stopped. onPauseTrigger is triggered when the pause command is initiated and then stopped via the resume command.
-
This is the example used in the demo video. When replicating - make sure
to add the Speech SDK to your project and add your resource properties.
Code
<!-- This example is for Vanilla JS and should be tailored to your framework (see Examples) --> <divstyle="display: flex"> <deep-chat speechToText='{ "azure": { "subscriptionKey": "resource-key", "region": "resource-region" }, "commands": { "stop": "stop", "pause": "pause", "resume": "resume", "removeAllText": "remove text", "submit": "submit", "commandMode": "command" }}' errorMessages='{ "overrides": {"speechToText": "Azure Speech To Text can not be used in this website as you need to set your credentials."} }' style="margin-right:30px" demo="true" ></deep-chat> <deep-chat speechToText='{ "commands": { "azure": { "subscriptionKey": "resource-key", "region": "resource-region" }, "stop": "stop", "pause": "pause", "resume": "resume", "removeAllText": "remove text", "submit": "submit", "commandMode": "command" }}' errorMessages='{ "overrides": {"speechToText": "Azure Speech To Text can not be used in this website as you need to set your credentials."} }' demo="true" ></deep-chat> </div>
<!-- This example is for Vanilla JS and should be tailored to your framework (see Examples) --> <deep-chatstyle="background-color:#f7f7f7;border-radius:8px"demo="true"></deep-chat> <deep-chatchatStyle='{"backgroundColor": "#f7f7f7", "borderRadius": "8px"}'demo="true"></deep-chat>
<!-- This example is for Vanilla JS and should be tailored to your framework (see Examples) --> <deep-chat attachmentContainerStyle='{"backgroundColor": "#b2e1ff57"}' demo='{"displayFileAttachmentContainer": true}' style="border-radius:8px" ></deep-chat>
<!-- This example is for Vanilla JS and should be tailored to your framework (see Examples) --> <deep-chatinputAreaStyle='{"backgroundColor": "#ebf5ff"}'style="border-radius:8px"demo="true"></deep-chat>
textInputstyle can be used to customize it. Use setPlaceholderText to change it dynamically. characterLimit is the maximum number of charactes that can be inserted into the text input. disabled is used to prevent the user from inserting text. This also comes with its own custom styling.
-
<!-- This example is for Vanilla JS and should be tailored to your framework (see Examples) --> <deep-chat textInput='{ "styles": { "text": {"color": "black"}, "container": {"maxHeight": "50px", "backgroundColor": "#f5f9ff"}, "focus": {"border": "2px solid #a2a2ff"} }, "placeholder": {"text": "Insert text here...", "style": {"color": "#4459a4"}}, "characterLimit": 10 }' style="border-radius:8px" demo="true" ></deep-chat>
<!-- This example is for Vanilla JS and should be tailored to your framework (see Examples) --> <deep-chat textInput='{ "disabled": true, "placeholder": { "text": "Text not allowed..." }}' style="border-radius:8px" demo="true" ></deep-chat>
Custom styling for the submit button.
@@ -114,110 +114,110 @@
sub
info
When displayLoadingBubble is set to false and the loading property's content string for text or svg is not set,
the submit button will have a loading animation.
It is important to note that the submit state's default properties are automatically copied into the other states,
however hover and submit need to be defined.
This string is primarily used to configure Webkit CSS which cannot be added through component's style properties. A great
example of this is the ::-webkit-scrollbar pseudo element which affects the style of the component's scrollbar.
<!-- This example is for Vanilla JS and should be tailored to your framework (see Examples) --> <deep-chat auxiliaryStyle=" ::-webkit-scrollbar { width: 10px; height: 10px; } ::-webkit-scrollbar-thumb { background-color: #54a7ff; border-radius: 5px; }" history='[ {"text": "Hey, how are you?", "role": "user"}, {"text": "I am doing great, how about you?", "role": "ai"}, {"text": "What is the meaning of life?", "role": "user"}, { "text": "This ultimately depends on the person, but it could be the pursuit of happiness or fulfillment.", "role": "ai" }, {"text": "I just feel like sleeping all day...", "role": "user"}, {"text": "As long as it makes you happy!", "role": "ai"} ]' style="border-radius:8px" demo="true" ></deep-chat>
danger
Webkit CSS is not standardised across all browsers, make sure to check the browser support
for the property you are using.
Styling for a button inside the chat view. container is used to style the base element of the button for its various mouse states. svg is used to style an svg icon (the default inner element) inside the button. text is used to create and style a text icon inside the button.
<!-- This example is for Vanilla JS and should be tailored to your framework (see Examples) --> <deep-chat images='{ "button": { "styles": { "container": { "default": {"backgroundColor": "#e6f0ff"}, "hover": {"backgroundColor": "#dbe9ff"}, "click": {"backgroundColor": "#c4dbff"} } }, "position": "outside-left" } }' style="border-radius:8px" demo="true" ></deep-chat>
Styling for a button inside the chat view. container is used to style the base element of the button for its various mouse states. svg is used to style an svg icon (the default inner element) inside the button. text is used to create and style a text icon inside the button.
Styling for an element inside a button container. styles is used to set the style of the element for its various mouse states.
-content is a string that is used to generate the inner element. When it is inside a text property - the string generates the element text.
-When inside an svg property - the string needs to be a full inlined svg element HTML which will be used to generate the icon.
+content is a string that is used to generate the inner element. When it is inside a text property - the string generates the element text.
+When inside an svg property - the string needs to be a full inlined svg element HTML which will be used to generate the icon.
+
If it is inside a HTML attribute (the parentmost object is inside quotes " - see the editable example) or when not using backticks (`) - make sure to escape the quotes by changing
" to \" (An easy way to do this is to stringify it using JSON.stringify()). Also when inside a HTML attribute, replace the first < character with <.
<!-- This example is for Vanilla JS and should be tailored to your framework (see Examples) --> <deep-chat demo="true" style="border-radius:8px" gifs='{"button": {"position": "dropup-menu"}}' audio='{"button": {"position": "dropup-menu"}}' camera='{"button": {"position": "dropup-menu"}}' mixedFiles='{"button": {"position": "inside-left"}}' microphone='{"button": {"position": "outside-right"}}' ></deep-chat>
\ No newline at end of file
diff --git a/docs/webModel/index.html b/docs/webModel/index.html
index 088a2bb84..512b39fbf 100644
--- a/docs/webModel/index.html
+++ b/docs/webModel/index.html
@@ -2,7 +2,7 @@
-
+
Web Model | Deep Chat
@@ -12,26 +12,26 @@
-
-
-
+
+
+
-
webModelurls defines the endpoint to retrieve the web model assets. load defines how and when the model is loaded. introMessage is the configuration for the introductory web model message.
-worker is a Web Worker that can enhance the rendering performance. Example.
+worker is a Web Worker that can enhance the rendering performance. Example.
-
<!-- This example is for Vanilla JS and should be tailored to your framework (see Examples) --> <deep-chatwebModel="true"style="border-radius:8px"></deep-chat>
Deep Chat uses the webModelConfig.ts file to determine where the model and the wasm files will be downloaded from.
You can overwite the links to your prefered locations like your own server.
<!-- This example is for Vanilla JS and should be tailored to your framework (see Examples) --> <deep-chat webModel='{ "urls": { "model": "http://localhost:8080/model-file", "wasm": "http://localhost:8080/wasm-file" }}' style="border-radius:8px" ></deep-chat>
WebModelL
onMessage will start loading the model when the user submits a message (or clicks the Start button). clearCache is used to remove all the cached web model files in the browser and replace them with new ones. skipCache will not use the browser cache. This is useful for trying out multiple models without overfilling the cache.
-
<!-- This example is for Vanilla JS and should be tailored to your framework (see Examples) --> <deep-chatwebModel='{"load": {"onMessage": true}}'style="border-radius:8px"></deep-chat>
WebModel
fileInputClass is the name of the class used for the hidden file input element that toggles the file upload functionality. afterLoadHtml is a string that contains html used for the message displayed after the model has been uploaded. exportFilesClass is the name of the class used for the button that exports the model files.
-
// using JavaScript for a simplified example chatElementRef.webModel={ afterLoadHtml:{ initialHtml:`Finished loading the model! <br /> <button class="export">Export Files</button>`, exportFilesClass:'export', }, };
// using JavaScript for a simplified example chatElementRef.webModel={ afterLoadHtml:{ initialHtml:`Finished loading the model! <br /> <button class="export">Export Files</button>`, exportFilesClass:'export', }, }; chatElementRef.htmlClassUtilities={export:{styles:{default:{marginTop:'8px'}}}};
If you want to automatically scale the inner chat's elements relative to the font-size, you can simply add the desired font-size
inside the style property.
Example to help you stick the component to any side of the screen - furthering a chat-like experience to your users. The core method to achieve this is to
set the style property with position: fixed and defining the side you want to component to sit on e.g. right: 7%.
This example simulates the styling used in ChatGPT. If you are using a custom avatar - please replace the "path-to-icon.png" string to your file's path or
set the avatars property to true.
Simulation of the styling used in Google Bard. If you are using a custom avatar - please replace the "path-to-icon.png" string to your file's path or
set the avatars property to true.
A red color flavour. If you are using a custom avatar - please replace the "path-to-icon.png" string to your file's path or
set the avatars property to true.
To keep Deep Chat as lightweight as possible, some of its functionality requires the use of external modules.
The component has been set up to recognise them by using the window object:
The decision to have developers download external dependancies was not easily made and there were multiple reasons that
lead us down this path.
First, the post-compression size of the above modules is orders of magnitude bigger than Deep Chat. This
@@ -82,9 +82,9 @@
If you are experiencing issues for importing/exporting files, please see github issues or create
a new issue ticket and we will look into
-it as soon as possible.
Depending on your configuration, you may notice a "Failed to resolve component..." warning in the console. This can be fixed by following
the simple steps outlined here.
The Svelte browser app should work right out of the box. The SvelteKit implementation requires the component to be imported using onMount and
deep-chat to be rendered when it has loaded.
Please add the CUSTOM_ELEMENTS_SCHEMA into your module's schemas array and import the component
as import 'deep-chat';. See this blog for more information.
Make sure to declare a solid-js module when working with TypeScript and use hyphen-case syntax for properties that are accessed directly through markup.
Use the deep-chat-react package and lazy load it using Next's dynamic extension.
When using App Router - make sure to set "use client" at the top of your file.
The Live Example demonstrates how to set values via properties (recommended) and attributes, which should also be used as a
fallback approach for other frameworks. This example also demonstrates how to import the component via a CDN.
If your platform has not been listed and Vanilla JS approach does not work as fallback, or if you are having issues with any of
the existing examples; please see github issues or create
a new issue ticket and we will look into
-it as soon as possible.
The following are example backend projects that are preconfigured to work with Deep Chat. Each one includes a variety of endpoints
that can be used to host your own service or act as a proxy for the following AI APIs - OpenAI,
@@ -25,40 +25,40 @@
The projects are setup to work with the example UI project.
Once the server and UI are both running - they should be able to communicate with each other right out of the box.
JavaScript project that uses the Next framework. This project does not need to use the UI example mentioned above
as it already contains all of the required code. Additionally, it is ready to be deployed to a hosting platform
such as Vercel:
TypeScript project that uses the SvelteKit framework. This project does not need to use the UI example mentioned above
as it already contains all of the required code. Additionally, it is ready to be deployed to a hosting platform
such as Vercel:
If you are experiencing issueswith any of the examples - please see github issues or create
a new issue ticket and we will look into
-it as soon as possible.
Deep Chat can be used to create new files inside the component! Click the camera button to capture photos or use the microphone button to record audio.
Deep Chat can connect to any API. Use it to communicate with popular AI providers directly from the browser or configure it to connect to your own servers.
Deep Chat can connect to any API. Use it to communicate with popular AI providers directly from the browser or configure it to connect to your own servers.
Transfer Media and MarkDown
Send images, audio, gifs, spreadsheets and other files to and from the chat. Text messages support MarkDown to help control text layout and render code.
Use Camera and Microphone
Deep Chat can be used to create new files inside the component! Click the camera button to capture photos or use the microphone button to record audio.
Enhance chat with Speech
Input your text using real time speech to text transcription and have the responses read out to you automatically using text to speech synthesis.
Send images, audio, gifs, spreadsheets and other files to and from the chat. Text messages support MarkDown to help control text layout and render code.
Deep Chat can connect to any API. Use it to communicate with popular AI providers directly from the browser or configure it to connect to your own servers.
Transfer Media and MarkDown
Send images, audio, gifs, spreadsheets and other files to and from the chat. Text messages support MarkDown to help control text layout and render code.
Use Camera and Microphone
Deep Chat can be used to create new files inside the component! Click the camera button to capture photos or use the microphone button to record audio.
Enhance chat with Speech
Input your text using real time speech to text transcription and have the responses read out to you automatically using text to speech synthesis.